Remove TagField

This commit is contained in:
Jeremy Stretch 2020-06-12 09:58:59 -04:00
parent da906f48d9
commit 7dc4f8d5cc
7 changed files with 101 additions and 59 deletions

View File

@ -3,8 +3,8 @@ from django import forms
from dcim.models import Region, Site
from extras.forms import (
AddRemoveTagsForm, CustomFieldBulkEditForm, CustomFieldFilterForm, CustomFieldModelForm, CustomFieldModelCSVForm,
TagField,
)
from extras.models import Tag
from tenancy.forms import TenancyFilterForm, TenancyForm
from tenancy.models import Tenant
from utilities.forms import (
@ -23,7 +23,8 @@ from .models import Circuit, CircuitTermination, CircuitType, Provider
class ProviderForm(BootstrapMixin, CustomFieldModelForm):
slug = SlugField()
comments = CommentField()
tags = TagField(
tags = DynamicModelMultipleChoiceField(
queryset=Tag.objects.all(),
required=False
)
@ -165,7 +166,8 @@ class CircuitForm(BootstrapMixin, TenancyForm, CustomFieldModelForm):
queryset=CircuitType.objects.all()
)
comments = CommentField()
tags = TagField(
tags = DynamicModelMultipleChoiceField(
queryset=Tag.objects.all(),
required=False
)

View File

@ -14,8 +14,9 @@ from timezone_field import TimeZoneFormField
from circuits.models import Circuit, Provider
from extras.forms import (
AddRemoveTagsForm, CustomFieldBulkEditForm, CustomFieldModelCSVForm, CustomFieldFilterForm, CustomFieldModelForm,
LocalConfigContextFilterForm, TagField,
LocalConfigContextFilterForm,
)
from extras.models import Tag
from ipam.constants import BGP_ASN_MAX, BGP_ASN_MIN
from ipam.models import IPAddress, VLAN
from tenancy.forms import TenancyFilterForm, TenancyForm
@ -225,7 +226,8 @@ class SiteForm(BootstrapMixin, TenancyForm, CustomFieldModelForm):
)
slug = SlugField()
comments = CommentField()
tags = TagField(
tags = DynamicModelMultipleChoiceField(
queryset=Tag.objects.all(),
required=False
)
@ -481,7 +483,8 @@ class RackForm(BootstrapMixin, TenancyForm, CustomFieldModelForm):
required=False
)
comments = CommentField()
tags = TagField(
tags = DynamicModelMultipleChoiceField(
queryset=Tag.objects.all(),
required=False
)
@ -750,7 +753,8 @@ class RackReservationForm(BootstrapMixin, TenancyForm, forms.ModelForm):
),
widget=StaticSelect2()
)
tags = TagField(
tags = DynamicModelMultipleChoiceField(
queryset=Tag.objects.all(),
required=False
)
@ -912,7 +916,8 @@ class DeviceTypeForm(BootstrapMixin, CustomFieldModelForm):
slug_source='model'
)
comments = CommentField()
tags = TagField(
tags = DynamicModelMultipleChoiceField(
queryset=Tag.objects.all(),
required=False
)
@ -1716,11 +1721,14 @@ class DeviceForm(BootstrapMixin, TenancyForm, CustomFieldModelForm):
required=False
)
comments = CommentField()
tags = TagField(required=False)
local_context_data = JSONField(
required=False,
label=''
)
tags = DynamicModelMultipleChoiceField(
queryset=Tag.objects.all(),
required=False
)
class Meta:
model = Device
@ -2209,7 +2217,8 @@ class ConsolePortFilterForm(DeviceComponentFilterForm):
class ConsolePortForm(BootstrapMixin, forms.ModelForm):
tags = TagField(
tags = DynamicModelMultipleChoiceField(
queryset=Tag.objects.all(),
required=False
)
@ -2236,7 +2245,8 @@ class ConsolePortCreateForm(LabeledComponentForm):
max_length=100,
required=False
)
tags = TagField(
tags = DynamicModelMultipleChoiceField(
queryset=Tag.objects.all(),
required=False
)
@ -2292,7 +2302,8 @@ class ConsoleServerPortFilterForm(DeviceComponentFilterForm):
class ConsoleServerPortForm(BootstrapMixin, forms.ModelForm):
tags = TagField(
tags = DynamicModelMultipleChoiceField(
queryset=Tag.objects.all(),
required=False
)
@ -2319,7 +2330,8 @@ class ConsoleServerPortCreateForm(LabeledComponentForm):
max_length=100,
required=False
)
tags = TagField(
tags = DynamicModelMultipleChoiceField(
queryset=Tag.objects.all(),
required=False
)
@ -2389,7 +2401,8 @@ class PowerPortFilterForm(DeviceComponentFilterForm):
class PowerPortForm(BootstrapMixin, forms.ModelForm):
tags = TagField(
tags = DynamicModelMultipleChoiceField(
queryset=Tag.objects.all(),
required=False
)
@ -2426,7 +2439,8 @@ class PowerPortCreateForm(LabeledComponentForm):
max_length=100,
required=False
)
tags = TagField(
tags = DynamicModelMultipleChoiceField(
queryset=Tag.objects.all(),
required=False
)
@ -2486,7 +2500,8 @@ class PowerOutletForm(BootstrapMixin, forms.ModelForm):
queryset=PowerPort.objects.all(),
required=False
)
tags = TagField(
tags = DynamicModelMultipleChoiceField(
queryset=Tag.objects.all(),
required=False
)
@ -2530,7 +2545,8 @@ class PowerOutletCreateForm(LabeledComponentForm):
max_length=100,
required=False
)
tags = TagField(
tags = DynamicModelMultipleChoiceField(
queryset=Tag.objects.all(),
required=False
)
@ -2689,7 +2705,8 @@ class InterfaceForm(InterfaceCommonForm, BootstrapMixin, forms.ModelForm):
},
)
)
tags = TagField(
tags = DynamicModelMultipleChoiceField(
queryset=Tag.objects.all(),
required=False
)
@ -2773,7 +2790,8 @@ class InterfaceCreateForm(InterfaceCommonForm, LabeledComponentForm):
required=False,
widget=StaticSelect2(),
)
tags = TagField(
tags = DynamicModelMultipleChoiceField(
queryset=Tag.objects.all(),
required=False
)
untagged_vlan = DynamicModelChoiceField(
@ -2985,7 +3003,8 @@ class FrontPortFilterForm(DeviceComponentFilterForm):
class FrontPortForm(BootstrapMixin, forms.ModelForm):
tags = TagField(
tags = DynamicModelMultipleChoiceField(
queryset=Tag.objects.all(),
required=False
)
@ -3176,7 +3195,8 @@ class RearPortFilterForm(DeviceComponentFilterForm):
class RearPortForm(BootstrapMixin, forms.ModelForm):
tags = TagField(
tags = DynamicModelMultipleChoiceField(
queryset=Tag.objects.all(),
required=False
)
@ -3279,7 +3299,8 @@ class DeviceBayFilterForm(DeviceComponentFilterForm):
class DeviceBayForm(BootstrapMixin, forms.ModelForm):
tags = TagField(
tags = DynamicModelMultipleChoiceField(
queryset=Tag.objects.all(),
required=False
)
@ -3300,7 +3321,8 @@ class DeviceBayCreateForm(BootstrapMixin, forms.Form):
name_pattern = ExpandableNameField(
label='Name'
)
tags = TagField(
tags = DynamicModelMultipleChoiceField(
queryset=Tag.objects.all(),
required=False
)
@ -3330,7 +3352,8 @@ class DeviceBayBulkCreateForm(
form_from_model(DeviceBay, ['description', 'tags']),
DeviceBulkAddComponentForm
):
tags = TagField(
tags = DynamicModelMultipleChoiceField(
queryset=Tag.objects.all(),
required=False
)
@ -3634,7 +3657,8 @@ class ConnectCableToPowerFeedForm(BootstrapMixin, forms.ModelForm):
class CableForm(BootstrapMixin, forms.ModelForm):
tags = TagField(
tags = DynamicModelMultipleChoiceField(
queryset=Tag.objects.all(),
required=False
)
@ -3963,7 +3987,8 @@ class InventoryItemForm(BootstrapMixin, forms.ModelForm):
queryset=Manufacturer.objects.all(),
required=False
)
tags = TagField(
tags = DynamicModelMultipleChoiceField(
queryset=Tag.objects.all(),
required=False
)
@ -4111,7 +4136,8 @@ class DeviceSelectionForm(forms.Form):
class VirtualChassisForm(BootstrapMixin, forms.ModelForm):
tags = TagField(
tags = DynamicModelMultipleChoiceField(
queryset=Tag.objects.all(),
required=False
)
@ -4301,7 +4327,8 @@ class PowerPanelForm(BootstrapMixin, forms.ModelForm):
queryset=RackGroup.objects.all(),
required=False
)
tags = TagField(
tags = DynamicModelMultipleChoiceField(
queryset=Tag.objects.all(),
required=False
)
@ -4425,7 +4452,8 @@ class PowerFeedForm(BootstrapMixin, CustomFieldModelForm):
required=False
)
comments = CommentField()
tags = TagField(
tags = DynamicModelMultipleChoiceField(
queryset=Tag.objects.all(),
required=False
)

View File

@ -3,7 +3,6 @@ from django.contrib.auth.models import User
from django.contrib.contenttypes.models import ContentType
from django.utils.safestring import mark_safe
from mptt.forms import TreeNodeMultipleChoiceField
from taggit.forms import TagField as TagField_
from dcim.models import DeviceRole, Platform, Region, Site
from tenancy.models import Tenant, TenantGroup
@ -143,15 +142,6 @@ class CustomFieldFilterForm(forms.Form):
# Tags
#
class TagField(TagField_):
def widget_attrs(self, widget):
# Apply the "tagfield" CSS class to trigger the special API-based selection widget for tags
return {
'class': 'tagfield'
}
class TagForm(BootstrapMixin, forms.ModelForm):
slug = SlugField()
@ -179,8 +169,14 @@ class AddRemoveTagsForm(forms.Form):
super().__init__(*args, **kwargs)
# Add add/remove tags fields
self.fields['add_tags'] = TagField(required=False)
self.fields['remove_tags'] = TagField(required=False)
self.fields['add_tags'] = DynamicModelMultipleChoiceField(
queryset=Tag.objects.all(),
required=False
)
self.fields['remove_tags'] = DynamicModelMultipleChoiceField(
queryset=Tag.objects.all(),
required=False
)
class TagFilterForm(BootstrapMixin, forms.Form):

View File

@ -4,8 +4,8 @@ from django.core.validators import MaxValueValidator, MinValueValidator
from dcim.models import Device, Interface, Rack, Region, Site
from extras.forms import (
AddRemoveTagsForm, CustomFieldBulkEditForm, CustomFieldModelCSVForm, CustomFieldModelForm, CustomFieldFilterForm,
TagField,
)
from extras.models import Tag
from tenancy.forms import TenancyFilterForm, TenancyForm
from tenancy.models import Tenant
from utilities.forms import (
@ -33,7 +33,8 @@ IPADDRESS_MASK_LENGTH_CHOICES = add_blank_choice([
#
class VRFForm(BootstrapMixin, TenancyForm, CustomFieldModelForm):
tags = TagField(
tags = DynamicModelMultipleChoiceField(
queryset=Tag.objects.all(),
required=False
)
@ -141,7 +142,8 @@ class AggregateForm(BootstrapMixin, CustomFieldModelForm):
rir = DynamicModelChoiceField(
queryset=RIR.objects.all()
)
tags = TagField(
tags = DynamicModelMultipleChoiceField(
queryset=Tag.objects.all(),
required=False
)
@ -292,7 +294,10 @@ class PrefixForm(BootstrapMixin, TenancyForm, CustomFieldModelForm):
queryset=Role.objects.all(),
required=False
)
tags = TagField(required=False)
tags = DynamicModelMultipleChoiceField(
queryset=Tag.objects.all(),
required=False
)
class Meta:
model = Prefix
@ -584,7 +589,8 @@ class IPAddressForm(BootstrapMixin, TenancyForm, ReturnURLForm, CustomFieldModel
required=False,
label='Make this the primary IP for the device/VM'
)
tags = TagField(
tags = DynamicModelMultipleChoiceField(
queryset=Tag.objects.all(),
required=False
)
@ -990,7 +996,10 @@ class VLANForm(BootstrapMixin, TenancyForm, CustomFieldModelForm):
queryset=Role.objects.all(),
required=False
)
tags = TagField(required=False)
tags = DynamicModelMultipleChoiceField(
queryset=Tag.objects.all(),
required=False
)
class Meta:
model = VLAN
@ -1157,7 +1166,8 @@ class ServiceForm(BootstrapMixin, CustomFieldModelForm):
min_value=SERVICE_PORT_MIN,
max_value=SERVICE_PORT_MAX
)
tags = TagField(
tags = DynamicModelMultipleChoiceField(
queryset=Tag.objects.all(),
required=False
)

View File

@ -5,8 +5,8 @@ from django import forms
from dcim.models import Device
from extras.forms import (
AddRemoveTagsForm, CustomFieldBulkEditForm, CustomFieldFilterForm, CustomFieldModelForm, CustomFieldModelCSVForm,
TagField,
)
from extras.models import Tag
from utilities.forms import (
APISelectMultiple, BootstrapMixin, CSVModelChoiceField, CSVModelForm, DynamicModelChoiceField,
DynamicModelMultipleChoiceField, SlugField, StaticSelect2Multiple, TagFilterField,
@ -90,7 +90,8 @@ class SecretForm(BootstrapMixin, CustomFieldModelForm):
role = DynamicModelChoiceField(
queryset=SecretRole.objects.all()
)
tags = TagField(
tags = DynamicModelMultipleChoiceField(
queryset=Tag.objects.all(),
required=False
)

View File

@ -2,8 +2,8 @@ from django import forms
from extras.forms import (
AddRemoveTagsForm, CustomFieldModelForm, CustomFieldBulkEditForm, CustomFieldFilterForm, CustomFieldModelCSVForm,
TagField,
)
from extras.models import Tag
from utilities.forms import (
APISelect, APISelectMultiple, BootstrapMixin, CommentField, CSVModelChoiceField, CSVModelForm,
DynamicModelChoiceField, DynamicModelMultipleChoiceField, SlugField, TagFilterField,
@ -57,7 +57,8 @@ class TenantForm(BootstrapMixin, CustomFieldModelForm):
required=False
)
comments = CommentField()
tags = TagField(
tags = DynamicModelMultipleChoiceField(
queryset=Tag.objects.all(),
required=False
)

View File

@ -7,8 +7,8 @@ from dcim.forms import INTERFACE_MODE_HELP_TEXT
from dcim.models import Device, DeviceRole, Interface, Platform, Rack, Region, Site
from extras.forms import (
AddRemoveTagsForm, CustomFieldBulkEditForm, CustomFieldModelCSVForm, CustomFieldModelForm, CustomFieldFilterForm,
TagField,
)
from extras.models import Tag
from ipam.models import IPAddress, VLAN
from tenancy.forms import TenancyFilterForm, TenancyForm
from tenancy.models import Tenant
@ -83,7 +83,8 @@ class ClusterForm(BootstrapMixin, TenancyForm, CustomFieldModelForm):
required=False
)
comments = CommentField()
tags = TagField(
tags = DynamicModelMultipleChoiceField(
queryset=Tag.objects.all(),
required=False
)
@ -312,13 +313,14 @@ class VirtualMachineForm(BootstrapMixin, TenancyForm, CustomFieldModelForm):
queryset=Platform.objects.all(),
required=False
)
tags = TagField(
required=False
)
local_context_data = JSONField(
required=False,
label=''
)
tags = DynamicModelMultipleChoiceField(
queryset=Tag.objects.all(),
required=False
)
class Meta:
model = VirtualMachine
@ -590,7 +592,8 @@ class InterfaceForm(BootstrapMixin, forms.ModelForm):
},
)
)
tags = TagField(
tags = DynamicModelMultipleChoiceField(
queryset=Tag.objects.all(),
required=False
)
@ -697,7 +700,8 @@ class InterfaceCreateForm(BootstrapMixin, forms.Form):
},
)
)
tags = TagField(
tags = DynamicModelMultipleChoiceField(
queryset=Tag.objects.all(),
required=False
)