예제 #1
0
 class Meta:
     model = Provider
     fields = [
         'name',
         'slug',
         'asn',
         'account',
         'portal_url',
         'noc_contact',
         'admin_contact',
         'comments',
         'tags',
     ]
     fieldsets = (
         ('Provider', ('name', 'slug', 'asn', 'tags')),
         ('Support Info', ('account', 'portal_url', 'noc_contact',
                           'admin_contact')),
     )
     widgets = {
         'noc_contact': SmallTextarea(attrs={'rows': 5}),
         'admin_contact': SmallTextarea(attrs={'rows': 5}),
     }
     help_texts = {
         'name':
         "Full name of the provider",
         'asn':
         "BGP autonomous system number (if applicable)",
         'portal_url':
         "URL of the provider's customer support portal",
         'noc_contact':
         "NOC email address and phone number",
         'admin_contact':
         "Administrative contact email address and phone number",
     }
예제 #2
0
파일: forms.py 프로젝트: yuyongwei/netbox
 class Meta:
     model = Site
     fields = ['name', 'slug', 'facility', 'asn', 'physical_address', 'shipping_address', 'comments']
     widgets = {
         'physical_address': SmallTextarea(attrs={'rows': 3}),
         'shipping_address': SmallTextarea(attrs={'rows': 3}),
     }
     help_texts = {
         'name': "Full name of the site",
         'facility': "Data center provider and facility (e.g. Equinix NY7)",
         'asn': "BGP autonomous system number",
         'physical_address': "Physical location of the building (e.g. for GPS)",
         'shipping_address': "If different from the physical address"
     }
예제 #3
0
파일: forms.py 프로젝트: chaosdorf/netbox
class ProviderBulkEditForm(BootstrapMixin, AddRemoveTagsForm,
                           CustomFieldBulkEditForm):
    pk = forms.ModelMultipleChoiceField(queryset=Provider.objects.all(),
                                        widget=forms.MultipleHiddenInput)
    asn = forms.IntegerField(required=False, label='ASN')
    account = forms.CharField(max_length=30,
                              required=False,
                              label='Account number')
    portal_url = forms.URLField(required=False, label='Portal')
    noc_contact = forms.CharField(required=False,
                                  widget=SmallTextarea,
                                  label='NOC contact')
    admin_contact = forms.CharField(required=False,
                                    widget=SmallTextarea,
                                    label='Admin contact')
    comments = CommentField(widget=SmallTextarea())

    class Meta:
        nullable_fields = [
            'asn',
            'account',
            'portal_url',
            'noc_contact',
            'admin_contact',
            'comments',
        ]
예제 #4
0
class VirtualMachineBulkEditForm(BootstrapMixin, AddRemoveTagsForm,
                                 CustomFieldBulkEditForm):
    pk = forms.ModelMultipleChoiceField(queryset=VirtualMachine.objects.all(),
                                        widget=forms.MultipleHiddenInput())
    status = forms.ChoiceField(choices=add_blank_choice(VM_STATUS_CHOICES),
                               required=False,
                               initial='')
    cluster = forms.ModelChoiceField(queryset=Cluster.objects.all(),
                                     required=False)
    role = forms.ModelChoiceField(
        queryset=DeviceRole.objects.filter(vm_role=True), required=False)
    tenant = forms.ModelChoiceField(queryset=Tenant.objects.all(),
                                    required=False)
    platform = forms.ModelChoiceField(queryset=Platform.objects.all(),
                                      required=False)
    vcpus = forms.IntegerField(required=False, label='vCPUs')
    memory = forms.IntegerField(required=False, label='Memory (MB)')
    disk = forms.IntegerField(required=False, label='Disk (GB)')
    comments = CommentField(widget=SmallTextarea())

    class Meta:
        nullable_fields = [
            'role',
            'tenant',
            'platform',
            'vcpus',
            'memory',
            'disk',
            'comments',
        ]
예제 #5
0
class ClusterBulkEditForm(BootstrapMixin, AddRemoveTagsForm, CustomFieldBulkEditForm):
    pk = forms.ModelMultipleChoiceField(
        queryset=Cluster.objects.all(),
        widget=forms.MultipleHiddenInput()
    )
    type = forms.ModelChoiceField(
        queryset=ClusterType.objects.all(),
        required=False,
        widget=APISelect(
            api_url="/api/virtualization/cluster-types/"
        )
    )
    group = forms.ModelChoiceField(
        queryset=ClusterGroup.objects.all(),
        required=False,
        widget=APISelect(
            api_url="/api/virtualization/cluster-groups/"
        )
    )
    site = forms.ModelChoiceField(
        queryset=Site.objects.all(),
        required=False,
        widget=APISelect(
            api_url="/api/dcim/sites/"
        )
    )
    comments = CommentField(
        widget=SmallTextarea()
    )

    class Meta:
        nullable_fields = [
            'group', 'site', 'comments',
        ]
예제 #6
0
파일: models.py 프로젝트: xcdr/netbox
 class Meta:
     model = Platform
     fields = [
         'name',
         'slug',
         'manufacturer',
         'napalm_driver',
         'napalm_args',
         'description',
     ]
     widgets = {
         'napalm_args': SmallTextarea(),
     }
예제 #7
0
class ClusterForm(BootstrapMixin, CustomFieldForm):
    comments = CommentField(widget=SmallTextarea())
    tags = TagField(required=False)

    class Meta:
        model = Cluster
        fields = [
            'name',
            'type',
            'group',
            'site',
            'comments',
            'tags',
        ]
예제 #8
0
class ClusterBulkEditForm(BootstrapMixin, AddRemoveTagsForm,
                          CustomFieldBulkEditForm):
    pk = forms.ModelMultipleChoiceField(queryset=Cluster.objects.all(),
                                        widget=forms.MultipleHiddenInput())
    type = forms.ModelChoiceField(queryset=ClusterType.objects.all(),
                                  required=False)
    group = forms.ModelChoiceField(queryset=ClusterGroup.objects.all(),
                                   required=False)
    site = forms.ModelChoiceField(queryset=Site.objects.all(), required=False)
    comments = CommentField(widget=SmallTextarea())

    class Meta:
        nullable_fields = [
            'group',
            'site',
            'comments',
        ]
예제 #9
0
 class Meta:
     model = Contact
     fields = (
         'group',
         'name',
         'title',
         'phone',
         'email',
         'address',
         'comments',
         'tags',
     )
     fieldsets = (('Contact', ('group', 'name', 'title', 'phone', 'email',
                               'address', 'tags')), )
     widgets = {
         'address': SmallTextarea(attrs={'rows': 3}),
     }
예제 #10
0
class ClusterForm(BootstrapMixin, CustomFieldForm):
    comments = CommentField(widget=SmallTextarea())
    tags = TagField(required=False)

    class Meta:
        model = Cluster
        fields = [
            'name',
            'type',
            'group',
            'site',
            'comments',
            'tags',
        ]
        widgets = {
            'type': APISelect(api_url="/api/virtualization/cluster-types/"),
            'group': APISelect(api_url="/api/virtualization/cluster-groups/"),
            'site': APISelect(api_url="/api/dcim/sites/"),
        }
예제 #11
0
class VirtualMachineBulkEditForm(BootstrapMixin, AddRemoveTagsForm,
                                 CustomFieldBulkEditForm):
    pk = forms.ModelMultipleChoiceField(queryset=VirtualMachine.objects.all(),
                                        widget=forms.MultipleHiddenInput())
    status = forms.ChoiceField(
        choices=add_blank_choice(VM_STATUS_CHOICES),
        required=False,
        initial='',
        widget=StaticSelect2(),
    )
    cluster = forms.ModelChoiceField(
        queryset=Cluster.objects.all(),
        required=False,
        widget=APISelect(api_url='/api/virtualization/clusters/'))
    role = forms.ModelChoiceField(
        queryset=DeviceRole.objects.filter(vm_role=True),
        required=False,
        widget=APISelect(api_url="/api/dcim/device-roles/",
                         additional_query_params={"vm_role": "True"}))
    tenant = forms.ModelChoiceField(
        queryset=Tenant.objects.all(),
        required=False,
        widget=APISelect(api_url='/api/tenancy/tenants/'))
    platform = forms.ModelChoiceField(
        queryset=Platform.objects.all(),
        required=False,
        widget=APISelect(api_url='/api/dcim/platforms/'))
    vcpus = forms.IntegerField(required=False, label='vCPUs')
    memory = forms.IntegerField(required=False, label='Memory (MB)')
    disk = forms.IntegerField(required=False, label='Disk (GB)')
    comments = CommentField(widget=SmallTextarea())

    class Meta:
        nullable_fields = [
            'role',
            'tenant',
            'platform',
            'vcpus',
            'memory',
            'disk',
            'comments',
        ]
예제 #12
0
 class Meta:
     model = Site
     fields = [
         'name',
         'slug',
         'status',
         'region',
         'group',
         'tenant_group',
         'tenant',
         'facility',
         'asn',
         'asns',
         'time_zone',
         'description',
         'physical_address',
         'shipping_address',
         'latitude',
         'longitude',
         'contact_name',
         'contact_phone',
         'contact_email',
         'comments',
         'tags',
     ]
     fieldsets = (
         ('Site', (
             'name',
             'slug',
             'status',
             'region',
             'group',
             'facility',
             'asn',
             'asns',
             'time_zone',
             'description',
             'tags',
         )),
         ('Tenancy', ('tenant_group', 'tenant')),
         ('Contact Info', (
             'physical_address',
             'shipping_address',
             'latitude',
             'longitude',
             'contact_name',
             'contact_phone',
             'contact_email',
         )),
     )
     widgets = {
         'physical_address': SmallTextarea(attrs={
             'rows': 3,
         }),
         'shipping_address': SmallTextarea(attrs={
             'rows': 3,
         }),
         'status': StaticSelect(),
         'time_zone': StaticSelect(),
     }
     help_texts = {
         'name': "Full name of the site",
         'asn':
         "BGP autonomous system number.  This field is depreciated in favour of the ASN model",
         'facility': "Data center provider and facility (e.g. Equinix NY7)",
         'time_zone': "Local time zone",
         'description': "Short description (will appear in sites list)",
         'physical_address':
         "Physical location of the building (e.g. for GPS)",
         'shipping_address': "If different from the physical address",
         'latitude': "Latitude in decimal format (xx.yyyyyy)",
         'longitude': "Longitude in decimal format (xx.yyyyyy)"
     }