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)
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)
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)
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.")
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)
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)
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)
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)
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:
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)
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)
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')
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)
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)