def __init__(self, *args, **kwargs): super(IPMIForm, self).__init__(*args, **kwargs) self.fields['dhcp'].widget.attrs['onChange'] = ( 'javascript:toggleGeneric(' '"id_dhcp", ["id_ipv4address", "id_ipv4netmaskbit"]);' ) channels = [] _n = notifier() for i in range(1, 17): try: data = _n.ipmi_get_lan(channel=i) except: continue if not data: continue channels.append((i, i)) self.fields['channel'] = forms.ChoiceField( choices=channels, label=_('Channel'), ) key_order(self, 0, 'channel', instance=True)
def __init__(self, *args, **kwargs): if 'instance' in kwargs: ins = kwargs.get('instance') if ins.smarttest_daymonth == "..": ins.smarttest_daymonth = '*/1' elif ',' in ins.smarttest_daymonth: days = [int(day) for day in ins.smarttest_daymonth.split(',')] gap = days[1] - days[0] everyx = list(range(0, 32, gap))[1:] if everyx == days: ins.smarttest_daymonth = '*/%d' % gap if ins.smarttest_hour == "..": ins.smarttest_hour = '*/1' elif ',' in ins.smarttest_hour: hours = [int(hour) for hour in ins.smarttest_hour.split(',')] gap = hours[1] - hours[0] everyx = list(range(0, 24, gap)) if everyx == hours: ins.smarttest_hour = '*/%d' % gap super(SMARTTestForm, self).__init__(*args, **kwargs) key_order(self, 0, 'smarttest_disks', instance=True) mchoicefield(self, 'smarttest_month', [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 ]) mchoicefield(self, 'smarttest_dayweek', [ 1, 2, 3, 4, 5, 6, 7 ])
def __init__(self, *args, **kwargs): if 'instance' in kwargs: ins = kwargs.get('instance') if ins.smarttest_daymonth == "..": ins.smarttest_daymonth = '*/1' elif ',' in ins.smarttest_daymonth: days = [int(day) for day in ins.smarttest_daymonth.split(',')] gap = days[1] - days[0] everyx = list(range(0, 32, gap))[1:] if everyx == days: ins.smarttest_daymonth = '*/%d' % gap if ins.smarttest_hour == "..": ins.smarttest_hour = '*/1' elif ',' in ins.smarttest_hour: hours = [int(hour) for hour in ins.smarttest_hour.split(',')] gap = hours[1] - hours[0] everyx = list(range(0, 24, gap)) if everyx == hours: ins.smarttest_hour = '*/%d' % gap super(SMARTTestForm, self).__init__(*args, **kwargs) self.fields['smarttest_all_disks'].widget.attrs['onChange'] = ( 'toggleGeneric("id_smarttest_all_disks", ["id_smarttest_disks"], false);' ) key_order(self, 1, 'smarttest_disks', instance=True) self.fields['smarttest_disks'].required = False mchoicefield(self, 'smarttest_month', [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 ]) mchoicefield(self, 'smarttest_dayweek', [ 1, 2, 3, 4, 5, 6, 7 ])
def __init__(self, *args, **kwargs): if "instance" in kwargs: kwargs.setdefault("initial", {}) try: kwargs["initial"]["encryption_password"] = notifier().pwenc_decrypt( kwargs["instance"].encryption_password) except Exception: pass try: kwargs["initial"]["encryption_salt"] = notifier().pwenc_decrypt(kwargs["instance"].encryption_salt) except Exception: pass super(CloudSyncForm, self).__init__(*args, **kwargs) key_order(self, 2, 'attributes', instance=True) mchoicefield(self, 'month', [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 ]) mchoicefield(self, 'dayweek', [ 1, 2, 3, 4, 5, 6, 7 ]) if self.instance.id: self.fields['attributes'].initial = { 'credential': self.instance.credential.id, } self.fields['attributes'].initial.update(self.instance.attributes)
def __init__(self, *args, **kwargs): if "instance" in kwargs: kwargs.setdefault("initial", {}) try: kwargs["initial"]["encryption_password"] = notifier().pwenc_decrypt( kwargs["instance"].encryption_password) except Exception: pass try: kwargs["initial"]["encryption_salt"] = notifier().pwenc_decrypt(kwargs["instance"].encryption_salt) except Exception: pass super(CloudSyncForm, self).__init__(*args, **kwargs) key_order(self, 2, 'attributes', instance=True) mchoicefield(self, 'month', [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 ]) mchoicefield(self, 'dayweek', [ 1, 2, 3, 4, 5, 6, 7 ]) if self.instance.id: self.fields['attributes'].initial = { 'credential': self.instance.credential.id, } self.fields['attributes'].initial.update(self.instance.attributes)
def __init__(self, *args, **kwargs): if 'instance' in kwargs: ins = kwargs.get('instance') if ins.smarttest_daymonth == "..": ins.smarttest_daymonth = '*/1' elif ',' in ins.smarttest_daymonth: days = [int(day) for day in ins.smarttest_daymonth.split(',')] gap = days[1] - days[0] everyx = list(range(0, 32, gap))[1:] if everyx == days: ins.smarttest_daymonth = '*/%d' % gap if ins.smarttest_hour == "..": ins.smarttest_hour = '*/1' elif ',' in ins.smarttest_hour: hours = [int(hour) for hour in ins.smarttest_hour.split(',')] gap = hours[1] - hours[0] everyx = list(range(0, 24, gap)) if everyx == hours: ins.smarttest_hour = '*/%d' % gap super(SMARTTestForm, self).__init__(*args, **kwargs) self.fields['smarttest_all_disks'].widget.attrs['onChange'] = ( 'toggleGeneric("id_smarttest_all_disks", ["id_smarttest_disks"], false);' ) key_order(self, 1, 'smarttest_disks', instance=True) self.fields['smarttest_disks'].required = False mchoicefield(self, 'smarttest_month', [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]) mchoicefield(self, 'smarttest_dayweek', [1, 2, 3, 4, 5, 6, 7])
def __init__(self, *args, **kwargs): if 'instance' in kwargs: ins = kwargs.get('instance') if ins.smarttest_daymonth == "..": ins.smarttest_daymonth = '*/1' elif ',' in ins.smarttest_daymonth: days = [int(day) for day in ins.smarttest_daymonth.split(',')] gap = days[1] - days[0] everyx = list(range(0, 32, gap))[1:] if everyx == days: ins.smarttest_daymonth = '*/%d' % gap if ins.smarttest_hour == "..": ins.smarttest_hour = '*/1' elif ',' in ins.smarttest_hour: hours = [int(hour) for hour in ins.smarttest_hour.split(',')] gap = hours[1] - hours[0] everyx = list(range(0, 24, gap)) if everyx == hours: ins.smarttest_hour = '*/%d' % gap super(SMARTTestForm, self).__init__(*args, **kwargs) key_order(self, 0, 'smarttest_disks', instance=True) mchoicefield(self, 'smarttest_month', [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 ]) mchoicefield(self, 'smarttest_dayweek', [ 1, 2, 3, 4, 5, 6, 7 ])
def __init__(self, *args, **kwargs): super(iSCSITargetExtentForm, self).__init__(*args, **kwargs) key_order(self, 1, 'iscsi_target_extent_type', instance=True) if not self._api: self.fields['iscsi_target_extent_disk'] = forms.ChoiceField( choices=(), widget=forms.Select(attrs={'maxHeight': 200}), label=_('Device'), required=False, ) else: self.fields['iscsi_target_extent_disk'] = forms.CharField( required=False, ) key_order(self, 2, 'iscsi_target_extent_disk', instance=True) if self.instance.id: with client as c: e = self.instance.iscsi_target_extent_path exclude = [e] if not self._api else [] disk_choices = list(c.call( 'iscsi.extent.disk_choices', exclude ).items()) disk_choices.sort(key=lambda x: x[1]) if self.instance.iscsi_target_extent_type == 'File': self.fields['iscsi_target_extent_type'].initial = 'File' else: self.fields['iscsi_target_extent_type'].initial = 'Disk' if not self._api: self.fields['iscsi_target_extent_disk'].choices = disk_choices if self.instance.iscsi_target_extent_type in ('ZVOL', 'HAST'): self.fields['iscsi_target_extent_disk'].initial = disk_choices else: self.fields['iscsi_target_extent_disk'].initial = self.instance.get_device()[5:] self._path = self.instance.iscsi_target_extent_path self._name = self.instance.iscsi_target_extent_name elif not self._api: with client as c: disk_choices = list(c.call( 'iscsi.extent.disk_choices' ).items()) disk_choices.sort(key=lambda x: x[1]) self.fields['iscsi_target_extent_disk'].choices = disk_choices self.fields['iscsi_target_extent_type'].widget.attrs['onChange'] = "iscsiExtentToggle();extentZvolToggle();" self.fields['iscsi_target_extent_path'].required = False self.fields['iscsi_target_extent_disk'].widget.attrs['onChange'] = ( 'extentZvolToggle();' )
def __init__(self, *args, **kwargs): super(iSCSITargetExtentForm, self).__init__(*args, **kwargs) key_order(self, 1, 'iscsi_target_extent_type', instance=True) if not self._api: self.fields['iscsi_target_extent_disk'] = forms.ChoiceField( choices=(), widget=forms.Select(attrs={'maxHeight': 200}), label=_('Device'), required=False, ) else: self.fields['iscsi_target_extent_disk'] = forms.CharField( required=False, ) key_order(self, 2, 'iscsi_target_extent_disk', instance=True) if self.instance.id: with client as c: e = self.instance.iscsi_target_extent_path exclude = [e] if not self._api else [] disk_choices = list(c.call( 'iscsi.extent.disk_choices', exclude ).items()) disk_choices.sort(key=lambda x: x[1]) if self.instance.iscsi_target_extent_type == 'File': self.fields['iscsi_target_extent_type'].initial = 'File' else: self.fields['iscsi_target_extent_type'].initial = 'Disk' if not self._api: self.fields['iscsi_target_extent_disk'].choices = disk_choices if self.instance.iscsi_target_extent_type in ('ZVOL', 'HAST'): self.fields['iscsi_target_extent_disk'].initial = disk_choices else: self.fields['iscsi_target_extent_disk'].initial = self.instance.get_device()[5:] self._path = self.instance.iscsi_target_extent_path self._name = self.instance.iscsi_target_extent_name elif not self._api: with client as c: disk_choices = list(c.call( 'iscsi.extent.disk_choices' ).items()) disk_choices.sort(key=lambda x: x[1]) self.fields['iscsi_target_extent_disk'].choices = disk_choices self.fields['iscsi_target_extent_type'].widget.attrs['onChange'] = "iscsiExtentToggle();extentZvolToggle();" self.fields['iscsi_target_extent_path'].required = False self.fields['iscsi_target_extent_disk'].widget.attrs['onChange'] = ( 'extentZvolToggle();' )
def __init__(self, *args, **kwargs): super(CloudSyncForm, self).__init__(*args, **kwargs) key_order(self, 2, 'attributes', instance=True) mchoicefield(self, 'month', [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]) mchoicefield(self, 'dayweek', [1, 2, 3, 4, 5, 6, 7]) if self.instance.id: self.fields['attributes'].initial = { 'credential': self.instance.credential.id, } self.fields['attributes'].initial.update(self.instance.attributes)
def __init__(self, *args, **kwargs): super(VMForm, self).__init__(*args, **kwargs) if self.instance.id: for i in ('vm_type', 'root_password', 'path', 'size'): del self.fields[i] if self.instance.vm_type != 'Bhyve': del self.fields['bootloader'] else: self.fields['vm_type'].widget.attrs['onChange'] = ( "vmTypeToggle();") key_order(self, 0, 'vm_type', instance=True)
def __init__(self, *args, **kwargs): super(CIFS_ShareForm, self).__init__(*args, **kwargs) key_order(self, 4, 'cifs_default_permissions', instance=True) self.fields['cifs_guestok'].widget.attrs['onChange'] = ( 'javascript:toggleGeneric("id_cifs_guestok", ' '["id_cifs_guestonly"], true);') if self.data: if self.data.get('cifs_guestok') is False: self.fields['cifs_guestonly'].widget.attrs['disabled'] = \ 'disabled' elif self.instance.cifs_guestok is False: self.fields['cifs_guestonly'].widget.attrs['disabled'] = 'disabled' self.fields['cifs_name'].required = False
def __init__(self, *args, **kwargs): super(iSCSITargetAuthCredentialForm, self).__init__(*args, **kwargs) if self._api: del self.fields['iscsi_target_auth_secret2'] del self.fields['iscsi_target_auth_peersecret2'] else: key_order(self, 3, 'iscsi_target_auth_secret2', instance=True) key_order(self, 6, 'iscsi_target_auth_peersecret2', instance=True) ins = kwargs.get("instance", None) if ins: self.fields['iscsi_target_auth_secret2'].initial = ( self.instance.iscsi_target_auth_secret) self.fields['iscsi_target_auth_peersecret2'].initial = ( self.instance.iscsi_target_auth_peersecret)
def __init__(self, *args, **kwargs): super(iSCSITargetAuthCredentialForm, self).__init__(*args, **kwargs) if self._api: del self.fields['iscsi_target_auth_secret2'] del self.fields['iscsi_target_auth_peersecret2'] else: key_order(self, 3, 'iscsi_target_auth_secret2', instance=True) key_order(self, 6, 'iscsi_target_auth_peersecret2', instance=True) ins = kwargs.get("instance", None) if ins: self.fields['iscsi_target_auth_secret2'].initial = ( self.instance.iscsi_target_auth_secret) self.fields['iscsi_target_auth_peersecret2'].initial = ( self.instance.iscsi_target_auth_peersecret)
def __init__(self, *args, **kwargs): super(CIFS_ShareForm, self).__init__(*args, **kwargs) if self.instance.id: self.fields['cifs_default_permissions'].initial = False self._original_cifs_vfsobjects = self.instance.cifs_vfsobjects else: self.fields['cifs_default_permissions'].initial = True self._original_cifs_vfsobjects = [] key_order(self, 4, 'cifs_default_permissions', instance=True) self.fields['cifs_guestok'].widget.attrs['onChange'] = ( 'javascript:toggleGeneric("id_cifs_guestok", ' '["id_cifs_guestonly"], true);') if self.data: if self.data.get('cifs_guestok') is False: self.fields['cifs_guestonly'].widget.attrs['disabled'] = \ 'disabled' elif self.instance.cifs_guestok is False: self.fields['cifs_guestonly'].widget.attrs['disabled'] = 'disabled' self.fields['cifs_name'].required = False self.fields['cifs_home'].widget.attrs['onChange'] = ( "cifs_storage_task_toggle();" ) if self.instance: task_dict = {} if self.instance.cifs_path: with client as c: task_dict = c.call('sharing.cifs.get_storage_tasks', self.instance.cifs_path) elif self.instance.cifs_home: with client as c: task_dict = c.call('sharing.cifs.get_storage_tasks', None, self.instance.cifs_home) if task_dict: choices = [('', '-----')] for task_id, msg in task_dict.items(): choices.append((task_id, msg)) self.fields['cifs_storage_task'].choices = choices else: self.fields['cifs_storage_task'].choices = (('', '-----'),)
def __init__(self, *args, **kwargs): super(NFSForm, self).__init__(*args, **kwargs) if self.data and self.data.get('nfs_srv_bindip'): if ',' in self.data['nfs_srv_bindip']: self.data = self.data.copy() self.data.setlist( 'nfs_srv_bindip', self.data['nfs_srv_bindip'].split(',') ) self.fields['nfs_srv_bindip'].choices = list(choices.IPChoices()) if self.instance.id and self.instance.nfs_srv_bindip: bindips = [] for ip in self.instance.nfs_srv_bindip: bindips.append(ip) self.fields['nfs_srv_bindip'].initial = bindips else: self.fields['nfs_srv_bindip'].initial = '' key_order(self, 2, 'nfs_srv_bindip', instance=True) self.fields['nfs_srv_mountd_port'].label = ( self.fields['nfs_srv_mountd_port'].label.lower() ) self.fields['nfs_srv_rpcstatd_port'].label = ( self.fields['nfs_srv_rpcstatd_port'].label.lower() ) self.fields['nfs_srv_rpclockd_port'].label = ( self.fields['nfs_srv_rpclockd_port'].label.lower() ) self.instance._original_nfs_srv_v4 = self.instance.nfs_srv_v4 self.fields['nfs_srv_v4'].widget.attrs['onChange'] = ( 'javascript:toggleNFSService();' ) self.fields['nfs_srv_v4_v3owner'].widget.attrs['onChange'] = ( 'javascript:toggleNFSService();' ) self.fields['nfs_srv_16'].widget.attrs['onChange'] = ( 'javascript:toggleNFSService();' ) if not self.instance.nfs_srv_v4 or (self.instance.nfs_srv_v4 and self.instance.nfs_srv_16): self.fields['nfs_srv_v4_v3owner'].widget.attrs['disabled'] = ( 'disabled' ) if self.instance.nfs_srv_v4_v3owner: self.fields['nfs_srv_16'].widget.attrs['disabled'] = 'disabled'
def __init__(self, *args, **kwargs): super(NFSForm, self).__init__(*args, **kwargs) if self.data and self.data.get('nfs_srv_bindip'): if ',' in self.data['nfs_srv_bindip']: self.data = self.data.copy() self.data.setlist( 'nfs_srv_bindip', self.data['nfs_srv_bindip'].split(',') ) self.fields['nfs_srv_bindip'].choices = list(choices.IPChoices()) if self.instance.id and self.instance.nfs_srv_bindip: bindips = [] for ip in self.instance.nfs_srv_bindip: bindips.append(ip) self.fields['nfs_srv_bindip'].initial = bindips else: self.fields['nfs_srv_bindip'].initial = '' key_order(self, 2, 'nfs_srv_bindip', instance=True) self.fields['nfs_srv_mountd_port'].label = ( self.fields['nfs_srv_mountd_port'].label.lower() ) self.fields['nfs_srv_rpcstatd_port'].label = ( self.fields['nfs_srv_rpcstatd_port'].label.lower() ) self.fields['nfs_srv_rpclockd_port'].label = ( self.fields['nfs_srv_rpclockd_port'].label.lower() ) self.instance._original_nfs_srv_v4 = self.instance.nfs_srv_v4 self.fields['nfs_srv_v4'].widget.attrs['onChange'] = ( 'javascript:toggleNFSService();' ) self.fields['nfs_srv_v4_v3owner'].widget.attrs['onChange'] = ( 'javascript:toggleNFSService();' ) self.fields['nfs_srv_16'].widget.attrs['onChange'] = ( 'javascript:toggleNFSService();' ) if not self.instance.nfs_srv_v4 or (self.instance.nfs_srv_v4 and self.instance.nfs_srv_16): self.fields['nfs_srv_v4_v3owner'].widget.attrs['disabled'] = ( 'disabled' ) if self.instance.nfs_srv_v4_v3owner: self.fields['nfs_srv_16'].widget.attrs['disabled'] = 'disabled'
def __init__(self, *args, **kwargs): if "instance" in kwargs and kwargs["instance"].id: kwargs.setdefault("initial", {}) try: kwargs["initial"]["encryption_password"] = notifier().pwenc_decrypt( kwargs["instance"].encryption_password) except Exception: pass try: kwargs["initial"]["encryption_salt"] = notifier().pwenc_decrypt(kwargs["instance"].encryption_salt) except Exception: pass if len(kwargs["instance"].bwlimit) == 1 and kwargs["instance"].bwlimit[0]["time"] == "00:00": if kwargs["instance"].bwlimit[0]['bandwidth'] is not None: kwargs["initial"]["bwlimit"] = humanize_size_rclone(kwargs["instance"].bwlimit[0]['bandwidth']) else: kwargs["initial"]["bwlimit"] = "" else: kwargs["initial"]["bwlimit"] = " ".join([ f"{limit['time']},{humanize_size_rclone(limit['bandwidth']) if limit['bandwidth'] else 'off'}" for limit in kwargs["instance"].bwlimit ]) kwargs["initial"]["exclude"] = "\n".join(kwargs["instance"].exclude) super(CloudSyncForm, self).__init__(*args, **kwargs) key_order(self, 2, 'attributes', instance=True) mchoicefield(self, 'month', [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 ]) mchoicefield(self, 'dayweek', [ 1, 2, 3, 4, 5, 6, 7 ]) if self.instance.id: self.fields['attributes'].initial = { 'credential': self.instance.credential.id, } self.fields['attributes'].initial.update(self.instance.attributes) self.fields['direction'].widget.attrs['onChange'] = ( "cloudSyncDirectionToggle();" )
def __init__(self, *args, **kwargs): if "instance" in kwargs and kwargs["instance"].id: kwargs.setdefault("initial", {}) try: kwargs["initial"]["encryption_password"] = notifier( ).pwenc_decrypt(kwargs["instance"].encryption_password) except Exception: pass try: kwargs["initial"]["encryption_salt"] = notifier( ).pwenc_decrypt(kwargs["instance"].encryption_salt) except Exception: pass if len(kwargs["instance"].bwlimit ) == 1 and kwargs["instance"].bwlimit[0]["time"] == "00:00": if kwargs["instance"].bwlimit[0]['bandwidth'] is not None: kwargs["initial"]["bwlimit"] = humanize_size_rclone( kwargs["instance"].bwlimit[0]['bandwidth']) else: kwargs["initial"]["bwlimit"] = "" else: kwargs["initial"]["bwlimit"] = " ".join([ f"{limit['time']},{humanize_size_rclone(limit['bandwidth']) if limit['bandwidth'] else 'off'}" for limit in kwargs["instance"].bwlimit ]) kwargs["initial"]["exclude"] = "\n".join( kwargs["instance"].exclude) super(CloudSyncForm, self).__init__(*args, **kwargs) key_order(self, 2, 'attributes', instance=True) mchoicefield(self, 'month', [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]) mchoicefield(self, 'dayweek', [1, 2, 3, 4, 5, 6, 7]) if self.instance.id: self.fields['attributes'].initial = { 'credential': self.instance.credential.id, } self.fields['attributes'].initial.update(self.instance.attributes) self.fields['direction'].widget.attrs['onChange'] = ( "cloudSyncDirectionToggle();")
def __init__(self, *args, **kwargs): self.remote = kwargs.pop('remote', None) self.initial_fail = False with client as c: if self.remote: try: data = c.call('failover.call_remote', 'ipmi.query', [[('channel', '=', 1)]]) except Exception: self.initial_fail = True data = None else: data = c.call('ipmi.query', [('channel', '=', 1)]) if data: data = data[0] num, cidr = struct.unpack('>I', socket.inet_aton( data['netmask']))[0], 0 while num > 0: num = num << 1 & 0xffffffff cidr += 1 kwargs['initial'] = { 'dhcp': data['dhcp'], 'ipv4address': data.get('ipaddress'), 'ipv4gw': data.get('gateway'), 'ipv4netmaskbit': str(cidr), 'vlanid': data.get('vlan'), } super(IPMIForm, self).__init__(*args, **kwargs) self.fields['dhcp'].widget.attrs['onChange'] = ( 'javascript:toggleGeneric(' '"id_dhcp", ["id_ipv4address", "id_ipv4netmaskbit"]);') with client as c: channels = list(map(lambda i: (i, i), c.call('ipmi.channels'))) self.fields['channel'] = forms.ChoiceField( choices=channels, label=_('Channel'), ) key_order(self, 0, 'channel', instance=True)
def __init__(self, *args, **kwargs): super(CIFS_ShareForm, self).__init__(*args, **kwargs) if self.instance.id: self.fields['cifs_default_permissions'].initial = False self._original_cifs_vfsobjects = self.instance.cifs_vfsobjects else: self.fields['cifs_default_permissions'].initial = True self._original_cifs_vfsobjects = [] key_order(self, 4, 'cifs_default_permissions', instance=True) self.fields['cifs_guestok'].widget.attrs['onChange'] = ( 'javascript:toggleGeneric("id_cifs_guestok", ' '["id_cifs_guestonly"], true);') if self.data: if self.data.get('cifs_guestok') is False: self.fields['cifs_guestonly'].widget.attrs['disabled'] = \ 'disabled' elif self.instance.cifs_guestok is False: self.fields['cifs_guestonly'].widget.attrs['disabled'] = 'disabled' self.fields['cifs_name'].required = False
def __init__(self, *args, **kwargs): self.remote = kwargs.pop('remote', None) self.initial_fail = False with client as c: if self.remote: try: data = c.call('failover.call_remote', 'ipmi.query', [[('channel', '=', 1)]]) except Exception: self.initial_fail = True data = None else: data = c.call('ipmi.query', [('channel', '=', 1)]) if data: data = data[0] num, cidr = struct.unpack('>I', socket.inet_aton(data['netmask']))[0], 0 while num > 0: num = num << 1 & 0xffffffff cidr += 1 kwargs['initial'] = { 'dhcp': data['dhcp'], 'ipv4address': data.get('ipaddress'), 'ipv4gw': data.get('gateway'), 'ipv4netmaskbit': str(cidr), 'vlanid': data.get('vlan'), } super(IPMIForm, self).__init__(*args, **kwargs) self.fields['dhcp'].widget.attrs['onChange'] = ( 'javascript:toggleGeneric(' '"id_dhcp", ["id_ipv4address", "id_ipv4netmaskbit"]);' ) with client as c: channels = list(map(lambda i: (i, i), c.call('ipmi.channels'))) self.fields['channel'] = forms.ChoiceField( choices=channels, label=_('Channel'), ) key_order(self, 0, 'channel', instance=True)
def __init__(self, *args, **kwargs): super(CIFS_ShareForm, self).__init__(*args, **kwargs) if self.instance.id: self.fields['cifs_default_permissions'].initial = False self._original_cifs_vfsobjects = self.instance.cifs_vfsobjects else: self.fields['cifs_default_permissions'].initial = True self._original_cifs_vfsobjects = [] key_order(self, 4, 'cifs_default_permissions', instance=True) self.fields['cifs_guestok'].widget.attrs['onChange'] = ( 'javascript:toggleGeneric("id_cifs_guestok", ' '["id_cifs_guestonly"], true);') if self.data: if self.data.get('cifs_guestok') is False: self.fields['cifs_guestonly'].widget.attrs['disabled'] = \ 'disabled' elif self.instance.cifs_guestok is False: self.fields['cifs_guestonly'].widget.attrs['disabled'] = 'disabled' self.fields['cifs_name'].required = False self.fields['cifs_home'].widget.attrs['onChange'] = ( "cifs_storage_task_toggle();" ) if self.instance: task_dict = {} if self.instance.cifs_path: with client as c: task_dict = c.call('sharing.smb.get_storage_tasks', self.instance.cifs_path) if task_dict: choices = [('', '-----')] for task_id, msg in task_dict.items(): choices.append((task_id, msg)) self.fields['cifs_storage_task'].choices = choices else: self.fields['cifs_storage_task'].choices = (('', '-----'),)
def __init__(self, *args, **kwargs): #FIXME: Workaround for DOJO not showing select with blank values if len(args) > 0 and isinstance(args[0], QueryDict): new = args[0].copy() if new.get('bsdusr_group', None) == '-----': new['bsdusr_group'] = '' args = (new, ) + args[1:] super(bsdUsersForm, self).__init__(*args, **kwargs) key_order(self, 3, 'bsdusr_group', instance=True) if self._api is True: del self.fields['bsdusr_password2'] self.fields['bsdusr_to_group'].choices = [ (x.id, x.bsdgrp_group) for x in models.bsdGroups.objects.all() ] self.fields['bsdusr_password_disabled'].widget.attrs['onChange'] = ( 'javascript:toggleGeneric("id_bsdusr_password_disabled", ' '["id_bsdusr_locked", "id_bsdusr_sudo"], false);') self.fields['bsdusr_locked'].widget.attrs['onChange'] = ( 'javascript:toggleGeneric("id_bsdusr_locked", ' '["id_bsdusr_password_disabled"], false);') self.fields['bsdusr_sudo'].widget.attrs['onChange'] = ( 'javascript:toggleGeneric("id_bsdusr_sudo", ' '["id_bsdusr_password_disabled"], false);') if not self.instance.id: try: with client as c: self.fields['bsdusr_uid'].initial = c.call( 'user.get_next_uid') except Exception: pass self.fields['bsdusr_home'].label = _('Create Home Directory In') self.fields['bsdusr_creategroup'].widget.attrs['onChange'] = ( 'javascript:toggleGeneric("id_bsdusr_creategroup", ' '["id_bsdusr_group"], false);') self.fields['bsdusr_group'].widget.attrs['maxHeight'] = 200 self.fields['bsdusr_group'].widget.attrs['disabled'] = 'disabled' self.fields['bsdusr_group'].choices = ( ('-----', '-----'), ) + tuple( [x for x in self.fields['bsdusr_group'].choices][1:]) self.fields['bsdusr_group'].required = False self.bsdusr_home_saved = '/nonexistent' elif self.instance.id: self.fields['bsdusr_to_group'].initial = [ x.bsdgrpmember_group.id for x in models.bsdGroupMembership.objects.filter( bsdgrpmember_user=self.instance.id) ] del self.fields['bsdusr_creategroup'] self.fields['bsdusr_group'].initial = self.instance.bsdusr_group self.advanced_fields = [] self.bsdusr_home_saved = self.instance.bsdusr_home key_order(self, len(self.fields) - 1, 'bsdusr_mode', instance=True) self.fields['bsdusr_username'].widget.attrs['readonly'] = True self.fields['bsdusr_username'].widget.attrs['class'] = ( 'dijitDisabled dijitTextBoxDisabled ' 'dijitValidationTextBoxDisabled') if os.path.exists(self.instance.bsdusr_home): mode = os.stat(self.instance.bsdusr_home).st_mode & 0o777 self.fields['bsdusr_mode'].initial = oct(mode)[2:] if self.instance.bsdusr_builtin: self.fields['bsdusr_uid'].widget.attrs['readonly'] = True self.fields['bsdusr_uid'].widget.attrs['class'] = ( 'dijitDisabled dijitTextBoxDisabled ' 'dijitValidationTextBoxDisabled') self.fields['bsdusr_group'].widget.attrs['readonly'] = True self.fields['bsdusr_group'].widget.attrs['class'] = ( 'dijitDisabled dijitSelectDisabled') self.fields['bsdusr_home'].widget.attrs['readonly'] = True self.fields['bsdusr_home'].widget.attrs['class'] = ( 'dijitDisabled dijitTextBoxDisabled ' 'dijitValidationTextBoxDisabled') self.fields['bsdusr_mode'].widget.attrs['disabled'] = True self.fields['bsdusr_mode'].required = False if self.instance.bsdusr_locked or self.instance.bsdusr_sudo: self.fields['bsdusr_password_disabled'].widget.attrs[ 'disabled'] = True if self.instance.bsdusr_password_disabled is True: self.fields['bsdusr_locked'].widget.attrs['disabled'] = True self.fields['bsdusr_sudo'].widget.attrs['disabled'] = True self.fields['bsdusr_sshpubkey'].initial = ( self.instance.bsdusr_sshpubkey)
def __init__(self, *args, **kwargs): super(VMForm, self).__init__(*args, **kwargs) self.fields['vm_type'].widget.attrs['onChange'] = ("vmTypeToggle();") key_order(self, 0, 'vm_type', instance=True)
def __init__(self, *args, **kwargs): #FIXME: Workaround for DOJO not showing select with blank values if len(args) > 0 and isinstance(args[0], QueryDict): new = args[0].copy() if new.get('bsdusr_group', None) == '-----': new['bsdusr_group'] = '' args = (new,) + args[1:] super(bsdUsersForm, self).__init__(*args, **kwargs) key_order(self, 3, 'bsdusr_group', instance=True) if self._api is True: del self.fields['bsdusr_password2'] self.fields['bsdusr_to_group'].choices = [ (x.id, x.bsdgrp_group) for x in models.bsdGroups.objects.all() ] self.fields['bsdusr_password_disabled'].widget.attrs['onChange'] = ( 'javascript:toggleGeneric("id_bsdusr_password_disabled", ' '["id_bsdusr_locked", "id_bsdusr_sudo"], false);') self.fields['bsdusr_locked'].widget.attrs['onChange'] = ( 'javascript:toggleGeneric("id_bsdusr_locked", ' '["id_bsdusr_password_disabled"], false);') self.fields['bsdusr_sudo'].widget.attrs['onChange'] = ( 'javascript:toggleGeneric("id_bsdusr_sudo", ' '["id_bsdusr_password_disabled"], false);') if not self.instance.id: try: self.fields['bsdusr_uid'].initial = notifier().user_getnextuid() except: pass self.fields['bsdusr_home'].label = _('Create Home Directory In') self.fields['bsdusr_creategroup'].widget.attrs['onChange'] = ( 'javascript:toggleGeneric("id_bsdusr_creategroup", ' '["id_bsdusr_group"], false);') self.fields['bsdusr_group'].widget.attrs['maxHeight'] = 200 self.fields['bsdusr_group'].widget.attrs['disabled'] = 'disabled' self.fields['bsdusr_group'].choices = ( ('-----', '-----'), ) + tuple( [x for x in self.fields['bsdusr_group'].choices][1:] ) self.fields['bsdusr_group'].required = False self.bsdusr_home_saved = '/nonexistent' self.bsdusr_home_copy = False elif self.instance.id: self.fields['bsdusr_to_group'].initial = [ x.bsdgrpmember_group.id for x in models.bsdGroupMembership.objects.filter( bsdgrpmember_user=self.instance.id ) ] del self.fields['bsdusr_creategroup'] self.fields['bsdusr_group'].initial = self.instance.bsdusr_group self.advanced_fields = [] self.bsdusr_home_saved = self.instance.bsdusr_home self.bsdusr_home_copy = False key_order(self, len(self.fields) - 1, 'bsdusr_mode', instance=True) self.fields['bsdusr_username'].widget.attrs['readonly'] = True self.fields['bsdusr_username'].widget.attrs['class'] = ( 'dijitDisabled dijitTextBoxDisabled ' 'dijitValidationTextBoxDisabled') if os.path.exists(self.instance.bsdusr_home): mode = os.stat(self.instance.bsdusr_home).st_mode & 0o777 self.fields['bsdusr_mode'].initial = oct(mode)[2:] if self.instance.bsdusr_builtin: self.fields['bsdusr_uid'].widget.attrs['readonly'] = True self.fields['bsdusr_uid'].widget.attrs['class'] = ( 'dijitDisabled dijitTextBoxDisabled ' 'dijitValidationTextBoxDisabled' ) self.fields['bsdusr_group'].widget.attrs['readonly'] = True self.fields['bsdusr_group'].widget.attrs['class'] = ( 'dijitDisabled dijitSelectDisabled') self.fields['bsdusr_home'].widget.attrs['readonly'] = True self.fields['bsdusr_home'].widget.attrs['class'] = ( 'dijitDisabled dijitTextBoxDisabled ' 'dijitValidationTextBoxDisabled' ) self.fields['bsdusr_mode'].widget.attrs['disabled'] = True self.fields['bsdusr_mode'].required = False if self.instance.bsdusr_locked or self.instance.bsdusr_sudo: self.fields['bsdusr_password_disabled'].widget.attrs[ 'disabled' ] = True if self.instance.bsdusr_password_disabled is True: self.fields['bsdusr_locked'].widget.attrs['disabled'] = True self.fields['bsdusr_sudo'].widget.attrs['disabled'] = True self.fields['bsdusr_sshpubkey'].initial = ( self.instance.bsdusr_sshpubkey )
raise forms.ValidationError( _("The two password fields didn't match.")) return password2 def clean(self): cdata = self.cleaned_data if not cdata.get("ddns_password"): cdata['ddns_password'] = self.instance.ddns_password return cdata def middleware_clean(self, update): update["domain"] = update["domain"].split() return update key_order(DynamicDNSForm, 10, 'ddns_password2') class SNMPForm(MiddlewareModelForm, ModelForm): middleware_attr_prefix = "snmp_" middleware_attr_schema = "snmp" middleware_exclude_fields = ["v3_password2", "v3_privpassphrase2"] middleware_plugin = "snmp" is_singletone = True snmp_v3_password2 = forms.CharField( max_length=40, label=_("Confirm Password"), widget=forms.widgets.PasswordInput(render_value=True), required=False,
def __init__(self, *args, **kwargs): super(S3Form, self).__init__(*args, **kwargs) key_order(self, 1, 's3_bindip', instance=True) key_order(self, 2, 's3_bindport', instance=True) key_order(self, 3, 's3_access_key', instance=True) key_order(self, 4, 's3_secret_key', instance=True) key_order(self, 5, 's3_secret_key2', instance=True) key_order(self, 6, 's3_disks', instance=True) key_order(self, 7, 's3_certificate', instance=True) key_order(self, 8, 's3_mode', instance=True) key_order(self, 9, 's3_browser', instance=True) self.fields['s3_bindip'].choices = [('0.0.0.0', '0.0.0.0')] + list( choices.IPChoices()) if self.instance.id and self.instance.s3_bindip: bindips = [] for ip in self.instance.s3_bindip: bindips.append(ip.encode('utf-8')) self.fields['s3_bindip'].initial = (bindips) else: self.fields['s3_bindip'].initial = ('') if self.instance.id: self.fields['s3_secret_key2'].initial = self.instance.s3_secret_key if self._api is True: del self.fields['s3_secret_key2'] self.fields['s3_mode'].widget = forms.widgets.HiddenInput()
def __init__(self, *args, **kwargs): super(VMForm, self).__init__(*args, **kwargs) self.fields['vm_type'].widget.attrs['onChange'] = ("vmTypeToggle();") key_order(self, 0, 'vm_type', instance=True)
password1 = self.cleaned_data.get("ddns_password") password2 = self.cleaned_data.get("ddns_password2") if password1 != password2: raise forms.ValidationError( _("The two password fields didn't match.") ) return password2 def middleware_clean(self, update): update["domain"] = update["domain"].replace(',', ' ').replace(';', ' ').split() if not update.get('password'): update.pop('password', None) return update key_order(DynamicDNSForm, 10, 'ddns_password2') class SNMPForm(MiddlewareModelForm, ModelForm): middleware_attr_prefix = "snmp_" middleware_attr_schema = "snmp" middleware_exclude_fields = ["v3_password2", "v3_privpassphrase2"] middleware_plugin = "snmp" is_singletone = True snmp_v3_password2 = forms.CharField( max_length=40, label=_("Confirm Password"), widget=forms.widgets.PasswordInput(render_value=True), required=False,
def __init__(self, *args, **kwargs): super(S3Form, self).__init__(*args, **kwargs) key_order(self, 1, 's3_bindip', instance=True) key_order(self, 2, 's3_bindport', instance=True) key_order(self, 3, 's3_access_key', instance=True) key_order(self, 4, 's3_secret_key', instance=True) key_order(self, 5, 's3_secret_key2', instance=True) key_order(self, 6, 's3_disks', instance=True) key_order(self, 7, 's3_certificate', instance=True) key_order(self, 8, 's3_mode', instance=True) key_order(self, 9, 's3_browser', instance=True) self.fields['s3_bindip'].choices = [('0.0.0.0', '0.0.0.0')] + list(choices.IPChoices()) if self.instance.id and self.instance.s3_bindip: bindips = [] for ip in self.instance.s3_bindip: bindips.append(ip.encode('utf-8')) self.fields['s3_bindip'].initial = (bindips) else: self.fields['s3_bindip'].initial = ('') if self.instance.id: self.fields['s3_secret_key2'].initial = self.instance.s3_secret_key if self._api is True: del self.fields['s3_secret_key2'] self.fields['s3_mode'].widget = forms.widgets.HiddenInput()