Пример #1
0
from django import forms

from cyder.base.eav.forms import get_eav_form
from cyder.cydhcp.site.models import Site, SiteAV


class SiteForm(forms.ModelForm):
    name = forms.CharField()

    class Meta:
        model = Site


SiteAVForm = get_eav_form(SiteAV, Site)
Пример #2
0
from django import forms

from cyder.base.eav.forms import get_eav_form
from cyder.cydhcp.vlan.models import Vlan, VlanAV


class VlanForm(forms.ModelForm):
    #site = forms.ModelChoiceField(queryset=Site.objects.all())

    class Meta:
        model = Vlan


VlanAVForm = get_eav_form(VlanAV, Vlan)
Пример #3
0
from django.forms import ModelForm
from cyder.base.mixins import UsabilityFormMixin
from cyder.base.eav.forms import get_eav_form
from cyder.cydns.soa.models import SOA, SOAAV


class SOAForm(ModelForm, UsabilityFormMixin):
    class Meta:
        model = SOA
        fields = ('root_domain', 'primary', 'contact', 'expire', 'retry',
                  'refresh', 'minimum', 'ttl', 'description', 'is_signed',
                  'dns_enabled')
        exclude = (
            'serial',
            'dirty',
        )

    def clean(self, *args, **kwargs):
        contact = self.cleaned_data['contact']
        self.cleaned_data['contact'] = contact.replace('@', '.')
        return super(SOAForm, self).clean(*args, **kwargs)


SOAAVForm = get_eav_form(SOAAV, SOA)
Пример #4
0
            else:
                gateway = self.cleaned_data['gateway']
            if not self.cleaned_data.get('subnet_mask'):
                subnet_mask = str(network.network.netmask)
            else:
                subnet_mask = self.cleaned_data['subnet_mask']
            NetworkAV.objects.create(entity=network,
                                     attribute=attr_routers,
                                     value=gateway)
            NetworkAV.objects.create(entity=network,
                                     attribute=attr_subnet_mask,
                                     value=subnet_mask)
        return network


NetworkAVForm = get_eav_form(NetworkAV, Network)


class NetworkForm_network(forms.Form):
    network = forms.CharField(required=True,
                              help_text='Enter the address and mask in '
                              'CIDR notation (e.g. 10.0.0.0/24)')
    ip_type = forms.ChoiceField(choices=IP_TYPES.items())

    def clean(self):
        cleaned_data = super(NetworkForm_network, self).clean()
        network_str = cleaned_data.get('network', '')
        try:
            ip_type = cleaned_data.get('ip_type')
            if ip_type not in IP_TYPES:
                raise ValidationError("IP type must be either IPv4 or IPv6.")
Пример #5
0
from django import forms

from cyder.base.eav.forms import get_eav_form
from cyder.base.mixins import UsabilityFormMixin
from cyder.core.system.models import System, SystemAV


class SystemForm(forms.ModelForm):

    class Meta:
        model = System


class ExtendedSystemForm(forms.ModelForm, UsabilityFormMixin):
    interface_type = forms.ChoiceField(
        widget=forms.RadioSelect, choices=(
            ('static_interface', 'Static Interface'),
            ('dynamic_interface', 'Dynamic Interface')))

    class Meta:
        model = System


SystemAVForm = get_eav_form(SystemAV, System)
Пример #6
0
from django import forms

from cyder.base.eav.forms import get_eav_form
from cyder.cydhcp.workgroup.models import Workgroup, WorkgroupAV


class WorkgroupForm(forms.ModelForm):
    class Meta:
        model = Workgroup


WorkgroupAVForm = get_eav_form(WorkgroupAV, Workgroup)
Пример #7
0
from django import forms

from cyder.base.eav.forms import get_eav_form
from cyder.base.mixins import UsabilityFormMixin
from cyder.core.system.models import System, SystemAV


class SystemForm(forms.ModelForm, UsabilityFormMixin):
    class Meta:
        model = System


class ExtendedSystemForm(forms.ModelForm, UsabilityFormMixin):
    interface_type = forms.ChoiceField(widget=forms.RadioSelect,
                                       choices=(('static_interface',
                                                 'Static Interface'),
                                                ('dynamic_interface',
                                                 'Dynamic Interface')))

    class Meta:
        model = System


SystemAVForm = get_eav_form(SystemAV, System)
Пример #8
0
from cyder.base.eav.forms import get_eav_form
from cyder.base.mixins import UsabilityFormMixin
from cyder.cydhcp.range.models import Range, RangeAV
from cyder.cydns.forms import ViewChoiceForm


class RangeForm(ViewChoiceForm, UsabilityFormMixin):
    class Meta:
        model = Range
        exclude = ('start_upper', 'start_lower', 'end_upper', 'end_lower')
        fields = ('name', 'network', 'ip_type', 'range_type', 'start_str',
                  'end_str', 'domain', 'is_reserved', 'allow', 'views',
                  'dhcpd_raw_include', 'dhcp_enabled', 'description')
        widgets = {'views': forms.CheckboxSelectMultiple,
                   'range_type': forms.RadioSelect,
                   'ip_type': forms.RadioSelect}
        exclude = 'range_usage'

    def __init__(self, *args, **kwargs):
        super(RangeForm, self).__init__(*args, **kwargs)
        self.fields['dhcpd_raw_include'].label = "DHCP Config Extras"
        self.fields['dhcpd_raw_include'].widget.attrs.update(
            {'cols': '80',
             'style': 'display: none;width: 680px'})

        self.fields['network'].widget.attrs.update({'class': 'networkWizard'})



RangeAVForm = get_eav_form(RangeAV, Range)
Пример #9
0
                raise ValidationError("IP type must be either IPv4 or IPv6.")
            if ip_type == IP_TYPE_4:
                network = ipaddr.IPv4Network(network_str)
                ip_upper, ip_lower = 0, int(network.network)
            elif ip_type == IP_TYPE_6:
                network = ipaddr.IPv6Network(network_str)
                ip_upper, ip_lower = ipv6_to_longs(network.network)

        except ipaddr.AddressValueError, e:
            raise ValidationError("Bad IP address {0}".format(e))
        except ipaddr.NetmaskValueError, e:
            raise ValidationError("Bad netmask {0}".format(e))
        return cleaned_data


NetworkAVForm = get_eav_form(NetworkAV, Network)


class NetworkForm_network(forms.Form):
    network = forms.CharField(
        required=True,
        help_text='Enter the address and mask in '
                  'CIDR notation (e.g. 10.0.0.0/24)')
    ip_type = forms.ChoiceField(choices=IP_TYPES.items())

    def clean(self):
        cleaned_data = super(NetworkForm_network, self).clean()
        network_str = cleaned_data.get('network', '')
        try:
            ip_type = cleaned_data.get('ip_type')
            if ip_type not in IP_TYPES:
Пример #10
0
from cyder.base.eav.forms import get_eav_form
from cyder.cydhcp.constants import DYNAMIC
from cyder.base.mixins import UsabilityFormMixin
from cyder.cydhcp.forms import RangeWizard
from cyder.cydhcp.interface.dynamic_intr.models import (DynamicInterface,
                                                        DynamicInterfaceAV)
from cyder.cydhcp.range.models import Range


class DynamicInterfaceForm(RangeWizard, UsabilityFormMixin):
    def __init__(self, *args, **kwargs):
        super(DynamicInterfaceForm, self).__init__(*args, **kwargs)
        self.fields.keyOrder = [
            'system', 'mac', 'vrf', 'site', 'range', 'workgroup', 'expire',
            'dhcp_enabled', 'ctnr'
        ]
        self.fields['expire'].widget.format = "%m/%d/%Y"
        self.fields['range'].required = True
        self.fields['range'].queryset = Range.objects.filter(
            range_type=DYNAMIC)

    class Meta:
        model = DynamicInterface
        exclude = ('last_seen', )
        always_validate = ('mac', )


DynamicInterfaceAVForm = get_eav_form(DynamicInterfaceAV, DynamicInterface)
Пример #11
0
from django import forms

from cyder.base.eav.forms import get_eav_form
from cyder.cydhcp.workgroup.models import Workgroup, WorkgroupAV


class WorkgroupForm(forms.ModelForm):

    class Meta:
        model = Workgroup


WorkgroupAVForm = get_eav_form(WorkgroupAV, Workgroup)
Пример #12
0
from django import forms

from cyder.base.eav.forms import get_eav_form
from cyder.base.mixins import UsabilityFormMixin
from cyder.cydhcp.vrf.models import Vrf, VrfAV


class VrfForm(forms.ModelForm, UsabilityFormMixin):
    class Meta:
        model = Vrf


VrfAVForm = get_eav_form(VrfAV, Vrf)
Пример #13
0
        super(StaticInterfaceForm, self).__init__(*args, **kwargs)
        self.fields.keyOrder = ['system', 'description', 'label', 'domain',
                                'mac', 'vrf', 'site', 'range', 'ip_type',
                                'next_ip', 'ip_str', 'ttl', 'workgroup',
                                'expire', 'views', 'dhcp_enabled',
                                'dns_enabled', 'ctnr']
        self.fields['expire'].widget.format = "%m/%d/%Y"
        self.fields['range'].queryset = Range.objects.filter(range_type=STATIC)

    class Meta:
        model = StaticInterface
        exclude = ('ip_upper', 'ip_lower', 'reverse_domain', 'fqdn',
                   'last_seen')
        widgets = {'ip_type': forms.RadioSelect,
                   'views': forms.CheckboxSelectMultiple}
        always_validate = ('mac',)


StaticInterfaceAVForm = get_eav_form(StaticInterfaceAV, StaticInterface)


class FullStaticInterfaceForm(forms.ModelForm):
    views = forms.ModelMultipleChoiceField(
        queryset=View.objects.all(),
        widget=forms.widgets.CheckboxSelectMultiple, required=False)

    class Meta:
        model = StaticInterface
        exclude = ('ip_upper', 'ip_lower', 'reverse_domain',
                   'fqdn')
Пример #14
0
from cyder.base.eav.forms import get_eav_form
from cyder.cydhcp.constants import DYNAMIC
from cyder.base.mixins import UsabilityFormMixin
from cyder.cydhcp.forms import RangeWizard
from cyder.cydhcp.interface.dynamic_intr.models import (DynamicInterface,
                                                        DynamicInterfaceAV)
from cyder.cydhcp.range.models import Range


class DynamicInterfaceForm(RangeWizard, UsabilityFormMixin):
    def __init__(self, *args, **kwargs):
        super(DynamicInterfaceForm, self).__init__(*args, **kwargs)
        self.fields.keyOrder = ['system', 'mac', 'vrf', 'site', 'range',
                                'workgroup', 'expire', 'dhcp_enabled', 'ctnr']
        self.fields['expire'].widget.format = "%m/%d/%Y"
        self.fields['range'].required = True
        self.fields['range'].queryset = Range.objects.filter(
            range_type=DYNAMIC)

    class Meta:
        model = DynamicInterface
        exclude = ('last_seen',)
        always_validate = ('mac',)


DynamicInterfaceAVForm = get_eav_form(DynamicInterfaceAV, DynamicInterface)
Пример #15
0
from django.forms import ModelForm
from cyder.base.mixins import UsabilityFormMixin
from cyder.base.eav.forms import get_eav_form
from cyder.cydns.soa.models import SOA, SOAAV


class SOAForm(ModelForm, UsabilityFormMixin):
    class Meta:
        model = SOA
        fields = ('root_domain', 'primary', 'contact', 'expire',
                  'retry', 'refresh', 'minimum', 'ttl', 'description',
                  'is_signed', 'dns_enabled')
        exclude = ('serial', 'dirty',)

    def clean(self, *args, **kwargs):
        contact = self.cleaned_data['contact']
        self.cleaned_data['contact'] = contact.replace('@', '.')
        return super(SOAForm, self).clean(*args, **kwargs)


SOAAVForm = get_eav_form(SOAAV, SOA)