def validates_cpu(obj): checker = Checker() check = True _ = obj._ checker.errors = [] if is_param(obj.input, 'max_vcpus'): check = checker.check_number( _('Maximum Allocatable Virtual CPUs'), obj.input.max_vcpus, CHECK_EMPTY | CHECK_VALID | CHECK_MIN, min=VCPUS_MIN_SIZE, ) and check else: check = False checker.add_error( _('"%s" is required.') % _('Maximum Allocatable Virtual CPUs')) if is_param(obj.input, 'vcpus'): check = checker.check_number( _("Number of Virtual CPUs to Allocate"), obj.input.vcpus, CHECK_EMPTY | CHECK_VALID | CHECK_MIN, min=VCPUS_MIN_SIZE, ) and check obj.view.alert = checker.errors return check
def validates_cpu(obj): checker = Checker() check = True _ = obj._ checker.errors = [] if is_param(obj.input, 'max_vcpus'): check = checker.check_number( _('Maximum Allocatable Virtual CPUs'), obj.input.max_vcpus, CHECK_EMPTY | CHECK_VALID | CHECK_MIN, min = VCPUS_MIN_SIZE, ) and check else: check = False checker.add_error(_('"%s" is required.') % _('Maximum Allocatable Virtual CPUs')) if is_param(obj.input, 'vcpus'): check = checker.check_number( _("Number of Virtual CPUs to Allocate"), obj.input.vcpus, CHECK_EMPTY | CHECK_VALID | CHECK_MIN, min = VCPUS_MIN_SIZE, ) and check; obj.view.alert = checker.errors return check
def validates_src_id(obj): """<comment-ja> ゲストOSコピー元のチェッカー @param obj: karesansui.lib.rest.Rest オブジェクト @type obj: karesansui.lib.rest.Rest @return: check @rtype: bool </comment-ja> <comment-en> TODO: English Comment </comment-en> """ checker = Checker() check = True _ = obj._ checker.errors = [] if not is_param(obj.input, 'src_id'): check = False checker.add_error(_('"%s" is required.') % _('Copy Source')) else: check = checker.check_number(_('Copy Source'), obj.input.src_id, CHECK_EMPTY | CHECK_VALID | CHECK_MIN | CHECK_MAX, ID_MIN_LENGTH, ID_MAX_LENGTH ) and check obj.view.alert = checker.errors return check
def validates_mail(obj): checker = Checker() check = True _ = obj._ checker.errors = [] if not is_param(obj.input, 'hostname'): check = False checker.add_error(_('"%s" is required.') % _('Server Name')) else: check_server = checker.check_domainname(_('Server Name'), obj.input.hostname, CHECK_VALID, ) or \ checker.check_ipaddr(_('Server Name'), obj.input.hostname, CHECK_VALID, ) check = check_server and check if not is_param(obj.input, 'port'): check = False checker.add_error(_('"%s" is required.') % _('Port Number')) else: check = checker.check_number(_('Port Number'), obj.input.port, CHECK_VALID | CHECK_MIN | CHECK_MAX, PORT_MIN_NUMBER, PORT_MAX_NUMBER, ) and check obj.view.alert = checker.errors return check
def validates_mail(obj): checker = Checker() check = True _ = obj._ checker.errors = [] if not is_param(obj.input, 'hostname'): check = False checker.add_error(_('"%s" is required.') % _('Server Name')) else: check_server = checker.check_domainname(_('Server Name'), obj.input.hostname, CHECK_VALID, ) or \ checker.check_ipaddr(_('Server Name'), obj.input.hostname, CHECK_VALID, ) check = check_server and check if not is_param(obj.input, 'port'): check = False checker.add_error(_('"%s" is required.') % _('Port Number')) else: check = checker.check_number( _('Port Number'), obj.input.port, CHECK_VALID | CHECK_MIN | CHECK_MAX, PORT_MIN_NUMBER, PORT_MAX_NUMBER, ) and check obj.view.alert = checker.errors return check
def validates_network_storage(obj): checker = Checker() check = True _ = obj._ checker.errors = [] if is_param(obj.input, 'network_storage_host_name'): check = checker.check_domainname(_('Target Hostname'), obj.input.network_storage_host_name, CHECK_EMPTY | CHECK_VALID, ) and check else: check = False checker.add_error(_('"%s" is required.') %_('Target Hostname')) if is_param(obj.input, 'network_storage_port_number'): check = checker.check_number(_('Target Port Number'), obj.input.network_storage_port_number, CHECK_VALID | CHECK_MIN | CHECK_MAX, PORT_MIN_NUMBER, PORT_MAX_NUMBER, ) and check if is_param(obj.input, 'network_storage_authentication'): check = checker.check_empty(_('iSCSI Authentication Type'), obj.input.network_storage_authentication, ) and check if obj.input.network_storage_authentication == ISCSI_CONFIG_VALUE_AUTH_METHOD_CHAP: if is_param(obj.input, 'network_storage_user'): check = checker.check_username_with_num(_('iSCSI Authentication User'), obj.input.network_storage_user, CHECK_VALID | CHECK_LENGTH, CHAP_USER_MIN_LENGTH, CHAP_USER_MAX_LENGTH, ) and check else: check = False checker.add_error(_('"%s" is required.') %_('iSCSI Authentication User')) if is_param(obj.input, 'network_storage_password'): check = checker.check_password(_('iSCSI Authentication Password'), obj.input.network_storage_password, obj.input.network_storage_password, CHECK_LENGTH, CHAP_PASSWORD_MIN_LENGTH, CHAP_PASSWORD_MAX_LENGTH, ) and check else: check = False checker.add_error(_('"%s" is required.') %_('iSCSI Authentication Password')) else: check = False checker.add_error(_('"%s" is required.') %_('iSCSI Authentication Type')) obj.view.alert = checker.errors return check
def validates_network_storage(obj): checker = Checker() check = True _ = obj._ checker.errors = [] if is_param(obj.input, 'iqn'): check = checker.check_string( _('Target IQN'), obj.input.iqn, CHECK_EMPTY | CHECK_ONLYSPACE, None, None, None, ) and check else: check = False checker.add_error(_('"%s" is required.') % _('Target IQN')) if is_param(obj.input, 'status'): check = checker.check_empty( _('Action Status'), obj.input.status, ) and check else: check = False checker.add_error(_('"%s" is required.') % _('Action Status')) if is_param(obj.input, 'host'): check = checker.check_domainname( _('Target Hostname'), obj.input.host, CHECK_EMPTY | CHECK_VALID, ) and check else: check = False checker.add_error(_('"%s" is required.') % _('Target Hostname')) if is_param(obj.input, 'port'): check = checker.check_number( _('Target Port Number'), obj.input.port, CHECK_VALID | CHECK_MIN | CHECK_MAX, PORT_MIN_NUMBER, PORT_MAX_NUMBER, ) and check else: check = False checker.add_error(_('"%s" is required.') % _('Target Port Number')) obj.view.alert = checker.errors return check
def validates_network_storage(obj): checker = Checker() check = True _ = obj._ checker.errors = [] if is_param(obj.input, 'iqn'): check = checker.check_string(_('Target IQN'), obj.input.iqn, CHECK_EMPTY | CHECK_ONLYSPACE, None, None, None, ) and check else: check = False checker.add_error(_('"%s" is required.') %_('Target IQN')) if is_param(obj.input, 'status'): check = checker.check_empty(_('Action Status'), obj.input.status, ) and check else: check = False checker.add_error(_('"%s" is required.') %_('Action Status')) if is_param(obj.input, 'host'): check = checker.check_domainname(_('Target Hostname'), obj.input.host, CHECK_EMPTY | CHECK_VALID, ) and check else: check = False checker.add_error(_('"%s" is required.') %_('Target Hostname')) if is_param(obj.input, 'port'): check = checker.check_number(_('Target Port Number'), obj.input.port, CHECK_VALID | CHECK_MIN | CHECK_MAX, PORT_MIN_NUMBER, PORT_MAX_NUMBER, ) and check else: check = False checker.add_error(_('"%s" is required.') %_('Target Port Number')) obj.view.alert = checker.errors return check
def validates_sid(obj): checker = Checker() check = True _ = obj._ checker.errors = [] if not is_param(obj.input, 'sid'): check = False checker.add_error(_('"%s" is required.') % _('Copy Source')) else: check = checker.check_number( _('Copy Source'), obj.input.sid, CHECK_EMPTY | CHECK_VALID | CHECK_MIN | CHECK_MAX, ID_MIN_LENGTH, ID_MAX_LENGTH) and check obj.view.alert = checker.errors return check
def validates_param_id(obj, user_id): checker = Checker() check = True _ = obj._ checker.errors = [] check = checker.check_number( _('User ID'), user_id, CHECK_EMPTY | CHECK_VALID | CHECK_MIN | CHECK_MAX, min = ID_MIN_LENGTH, max = ID_MAX_LENGTH, ) and check obj.view.alert = checker.errors return check
def validates_param_id(obj, tag_id): checker = Checker() check = True _ = obj._ checker.errors = [] check = checker.check_number( _('Tag ID'), tag_id, CHECK_EMPTY | CHECK_VALID | CHECK_MIN | CHECK_MAX, min=ID_MIN_LENGTH, max=ID_MAX_LENGTH, ) and check obj.view.alert = checker.errors return check
def validates_mail(obj): checker = Checker() check = True _ = obj._ checker.errors = [] if not is_param(obj.input, 'server'): check = False checker.add_error(_('"%s" is required.') % _('Mail Server Name')) else: check_server = checker.check_domainname(_('Mail Server Name'), obj.input.server, CHECK_EMPTY | CHECK_VALID, ) or \ checker.check_ipaddr(_('Mail Server Name'), obj.input.server, CHECK_EMPTY | CHECK_VALID, ) check = check_server and check if not is_param(obj.input, 'port'): check = False checker.add_error(_('"%s" is required.') % _('Port Number')) else: check = checker.check_number(_('Port Number'), obj.input.port, CHECK_EMPTY | CHECK_VALID | CHECK_MIN | CHECK_MAX, PORT_MIN_NUMBER, PORT_MAX_NUMBER, ) and check if not is_param(obj.input, 'email'): check = False checker.add_error(_('"%s" is required.') % _('Recipient Mail Address')) else: check = checker.check_mailaddress(_('Recipient Mail Address'), obj.input.email, CHECK_EMPTY | CHECK_VALID | CHECK_LENGTH, min = EMAIL_MIN_LENGTH, max = EMAIL_MAX_LENGTH ) and check obj.view.alert = checker.errors return check
def validates_mail(obj): checker = Checker() check = True _ = obj._ checker.errors = [] if not is_param(obj.input, 'server'): check = False checker.add_error(_('"%s" is required.') % _('Mail Server Name')) else: check_server = checker.check_domainname(_('Mail Server Name'), obj.input.server, CHECK_EMPTY | CHECK_VALID, ) or \ checker.check_ipaddr(_('Mail Server Name'), obj.input.server, CHECK_EMPTY | CHECK_VALID, ) check = check_server and check if not is_param(obj.input, 'port'): check = False checker.add_error(_('"%s" is required.') % _('Port Number')) else: check = checker.check_number(_('Port Number'), obj.input.port, CHECK_EMPTY | CHECK_VALID | CHECK_MIN | CHECK_MAX, PORT_MIN_NUMBER, PORT_MAX_NUMBER, ) and check if not is_param(obj.input, 'email'): check = False checker.add_error(_('"%s" is required.') % _('Recipient Mail Address')) else: check = checker.check_mailaddress(_('Recipient Mail Address'), obj.input.email, CHECK_EMPTY | CHECK_VALID | CHECK_LENGTH, min = EMAIL_MIN_LENGTH, max = EMAIL_MAX_LENGTH ) and check obj.view.alert = checker.errors return check
def validates_page(obj): checker = Checker() check = True _ = obj._ checker.errors = [] if is_param(obj.input, 'p'): check = checker.check_number( _('Page Number'), obj.input.p, CHECK_EMPTY | CHECK_VALID | CHECK_MIN | CHECK_MAX, min = PAGE_MIN_SIZE, max = PAGE_MAX_SIZE, ) and check obj.view.alert = checker.errors return check
def validates_page(obj): checker = Checker() check = True _ = obj._ checker.errors = [] if is_param(obj.input, 'p'): check = checker.check_number( _('Page Number'), obj.input.p, CHECK_EMPTY | CHECK_VALID | CHECK_MIN | CHECK_MAX, min=PAGE_MIN_SIZE, max=PAGE_MAX_SIZE, ) and check obj.view.alert = checker.errors return check
def validates_sid(obj): checker = Checker() check = True _ = obj._ checker.errors = [] if not is_param(obj.input, 'sid'): check = False checker.add_error(_('"%s" is required.') % _('Copy Source')) else: check = checker.check_number(_('Copy Source'), obj.input.sid, CHECK_EMPTY | CHECK_VALID | CHECK_MIN | CHECK_MAX, ID_MIN_LENGTH, ID_MAX_LENGTH ) and check obj.view.alert = checker.errors return check
def validates_host_edit(obj): checker = Checker() check = True _ = obj._ checker.errors = [] if not is_param(obj.input, 'm_name'): check = False checker.add_error(_('Parameter m_name does not exist.')) else: check = checker.check_string( _('Machine Name'), obj.input.m_name, CHECK_EMPTY | CHECK_LENGTH | CHECK_ONLYSPACE, None, min=MACHINE_NAME_MIN_LENGTH, max=MACHINE_NAME_MAX_LENGTH, ) and check if not is_param(obj.input, 'm_connect_type'): check = False checker.add_error(_('Parameter m_connect_type does not exist.')) else: if obj.input.m_connect_type == "karesansui": if not is_param(obj.input, 'm_hostname'): check = False checker.add_error(_('"%s" is required.') % _('FQDN')) else: m_hostname_parts = obj.input.m_hostname.split(":") if len(m_hostname_parts) > 2: check = False checker.add_error( _('%s contains too many colon(:)s.') % _('FQDN')) else: check = checker.check_domainname( _('FQDN'), m_hostname_parts[0], CHECK_EMPTY | CHECK_LENGTH | CHECK_VALID, min=FQDN_MIN_LENGTH, max=FQDN_MAX_LENGTH, ) and check try: check = checker.check_number( _('Port Number'), m_hostname_parts[1], CHECK_EMPTY | CHECK_VALID | CHECK_MIN | CHECK_MAX, PORT_MIN_NUMBER, PORT_MAX_NUMBER, ) and check except IndexError: # when reach here, 'm_hostname' has only host name pass if obj.input.m_connect_type == "libvirt": if not is_param(obj.input, 'm_uri'): check = False checker.add_error(_('"%s" is required.') % _('URI')) else: pass if is_param(obj.input, 'm_auth_user') and obj.input.m_auth_user != "": check = checker.check_username( _('User Name'), obj.input.m_auth_user, CHECK_LENGTH | CHECK_ONLYSPACE, min=USER_MIN_LENGTH, max=USER_MAX_LENGTH, ) and check if is_param(obj.input, 'note_title'): check = checker.check_string( _('Title'), obj.input.note_title, CHECK_LENGTH | CHECK_ONLYSPACE, None, min=NOTE_TITLE_MIN_LENGTH, max=NOTE_TITLE_MAX_LENGTH, ) and check if is_param(obj.input, 'note_value'): check = checker.check_string( _('Note'), obj.input.note_value, CHECK_ONLYSPACE, None, None, None, ) and check if is_param(obj.input, 'tags'): for tag in comma_split(obj.input.tags): check = checker.check_string( _('Tag'), tag, CHECK_LENGTH | CHECK_ONLYSPACE, None, min=TAG_MIN_LENGTH, max=TAG_MAX_LENGTH, ) and check obj.view.alert = checker.errors return check
def validates_guest_replicate(obj): checker = Checker() check = True _ = obj._ checker.errors = [] if not is_param(obj.input, 'm_name'): check = False checker.add_error(_('Parameter m_name does not exist.')) else: check = checker.check_string( _('Machine Name'), obj.input.m_name, CHECK_EMPTY | CHECK_LENGTH | CHECK_ONLYSPACE, None, min = MACHINE_NAME_MIN_LENGTH, max = MACHINE_NAME_MAX_LENGTH, ) and check if is_param(obj.input, 'note_title'): check = checker.check_string( _('Title'), obj.input.note_title, CHECK_LENGTH | CHECK_ONLYSPACE, None, min = NOTE_TITLE_MIN_LENGTH, max = NOTE_TITLE_MAX_LENGTH, ) and check if is_param(obj.input, 'note_value'): check = checker.check_string( _('Note'), obj.input.note_value, CHECK_ONLYSPACE, None, None, None, ) and check if is_param(obj.input, 'tags'): for tag in comma_split(obj.input.tags): check = checker.check_string( _('Tag'), tag, CHECK_LENGTH | CHECK_ONLYSPACE, None, min = TAG_MIN_LENGTH, max = TAG_MAX_LENGTH, ) and check if not is_param(obj.input, 'domain_dest_name'): check = False checker.add_error(_('Parameter domain_dest_name does not exist.')) else: check = checker.check_string( _('Destination Domain Name'), obj.input.domain_dest_name, CHECK_EMPTY | CHECK_VALID | CHECK_LENGTH, '[^-a-zA-Z0-9_\.]+', DOMAIN_NAME_MIN_LENGTH, DOMAIN_NAME_MAX_LENGTH, ) and check if not is_param(obj.input, 'vm_vncport'): check = False checker.add_error(_('Parameter vm_vncport does not exist.')) else: check = checker.check_number( _('VNC Port Number'), obj.input.vm_vncport, CHECK_EMPTY | CHECK_VALID | CHECK_MIN | CHECK_MAX, VNC_PORT_MIN_NUMBER, VNC_PORT_MAX_NUMBER, ) and check if not is_param(obj.input, 'vm_mac'): check = False checker.add_error(_('Parameter vm_mac does not exist.')) else: check = checker.check_macaddr( _('MAC Address'), obj.input.vm_mac, CHECK_EMPTY | CHECK_VALID, ) and check obj.view.alert = checker.errors return check
def validates_host_add(obj): checker = Checker() check = True _ = obj._ checker.errors = [] if not is_param(obj.input, 'm_name'): check = False checker.add_error(_('Parameter m_name does not exist.')) else: check = checker.check_string( _('Machine Name'), obj.input.m_name, CHECK_EMPTY | CHECK_LENGTH | CHECK_ONLYSPACE, None, min = MACHINE_NAME_MIN_LENGTH, max = MACHINE_NAME_MAX_LENGTH, ) and check if not is_param(obj.input, 'm_hostname'): check = False checker.add_error(_('"%s" is required.') % _('FQDN')) else: m_hostname_parts = obj.input.m_hostname.split(":") if len(m_hostname_parts) > 2: check = False checker.add_error(_('%s contains too many colon(:)s.') % _('FQDN')) else: check = checker.check_domainname( _('FQDN'), m_hostname_parts[0], CHECK_EMPTY | CHECK_LENGTH | CHECK_VALID, min = FQDN_MIN_LENGTH, max = FQDN_MAX_LENGTH, ) and check try: check = checker.check_number( _('Port Number'), m_hostname_parts[1], CHECK_EMPTY | CHECK_VALID | CHECK_MIN | CHECK_MAX, PORT_MIN_NUMBER, PORT_MAX_NUMBER, ) and check except IndexError: # when reach here, 'm_hostname' has only host name pass if not is_param(obj.input, 'm_uuid'): check = False checker.add_error(_('"%s" is required.') % _('Unique Key')) else: check = checker.check_unique_key( _('Unique Key'), obj.input.m_uuid, CHECK_EMPTY | CHECK_VALID ) and check if is_param(obj.input, 'note_title'): check = checker.check_string( _('Title'), obj.input.note_title, CHECK_LENGTH | CHECK_ONLYSPACE, None, min = NOTE_TITLE_MIN_LENGTH, max = NOTE_TITLE_MAX_LENGTH, ) and check if is_param(obj.input, 'note_value'): check = checker.check_string( _('Note'), obj.input.note_value, CHECK_ONLYSPACE, None, None, None, ) and check if is_param(obj.input, 'tags'): for tag in comma_split(obj.input.tags): check = checker.check_string( _('Tag'), tag, CHECK_LENGTH | CHECK_ONLYSPACE, None, min = TAG_MIN_LENGTH, max = TAG_MAX_LENGTH, ) and check obj.view.alert = checker.errors return check
def validates_watch(obj): checker = Checker() check = True _ = obj._ checker.errors = [] if is_param(obj.input, 'watch_name'): check = checker.check_string(_('Name'), obj.input.watch_name, CHECK_EMPTY | CHECK_ONLYSPACE, None, ) and check else: check = False checker.add_error(_('"%s" is required.') %_('Name')) if is_param(obj.input, 'watch_target'): check = checker.check_string(_('Watch Target'), obj.input.watch_target, CHECK_EMPTY | CHECK_ONLYSPACE, None, ) and check if obj.input.watch_target not in WATCH_PLUGINS.values(): check = False # TRANSLATORS: # %sは監視対象ではありません。 checker.add_error(_('"%s" is not watch target.') %_(obj.input.watch_target)) else: check = False checker.add_error(_('"%s" is required.') %_('Watch Target')) if is_param(obj.input, 'continuation_count'): check = checker.check_number(_('Alert Trigger Count'), obj.input.continuation_count, CHECK_EMPTY | CHECK_VALID | CHECK_MIN | CHECK_MAX, CONTINUATION_COUNT_MIN, CONTINUATION_COUNT_MAX, ) and check else: check = False checker.add_error(_('"%s" is required.') %_('Alert Trigger Count')) if is_param(obj.input, 'prohibition_period'): check = checker.check_number(_('Silent Period'), obj.input.prohibition_period, CHECK_EMPTY | CHECK_VALID | CHECK_MIN | CHECK_MAX, PROHIBITION_PERIOD_MIN, PROHIBITION_PERIOD_MAX, ) and check else: check = False checker.add_error(_('"%s" is required.') %_('Silent Period')) if is_param(obj.input, 'threshold_fraction'): fraction = int(obj.input.threshold_fraction) else: fraction = 0 if is_param(obj.input, 'threshold_val1'): if fraction == 0: check = checker.check_number(_('Threshold Value'), obj.input.threshold_val1, CHECK_EMPTY | CHECK_VALID | CHECK_MIN, THRESHOLD_VAL_MIN, None, ) and check else: check = checker.check_fraction(_('Threshold Value'), obj.input.threshold_val1, CHECK_EMPTY | CHECK_VALID | CHECK_MIN, THRESHOLD_VAL_MIN, None, fraction, ) and check else: check = False checker.add_error(_('"%s" is required.') %_('Threshold Value')) if is_param(obj.input, 'threshold_val2'): if fraction == 0: check = checker.check_number(_('Threshold Value'), obj.input.threshold_val2, CHECK_EMPTY | CHECK_VALID | CHECK_MIN, THRESHOLD_VAL_MIN, None, ) and check else: check = checker.check_fraction(_('Threshold Value'), obj.input.threshold_val2, CHECK_EMPTY | CHECK_VALID | CHECK_MIN, THRESHOLD_VAL_MIN, None, fraction, ) and check else: check = False checker.add_error(_('"%s" is required.') %_('Threshold Value')) if not is_param(obj.input, 'threshold_type'): check = False checker.add_error(_('"%s" is required.') %_('Threshold Type')) if is_param(obj.input, 'notify_mail_to'): if obj.input.notify_mail_to != "": check = checker.check_mailaddress(_('Mail To'), obj.input.notify_mail_to, CHECK_LENGTH | CHECK_VALID, EMAIL_MIN_LENGTH, EMAIL_MAX_LENGTH, ) and check if is_param(obj.input, 'notify_mail_from'): if obj.input.notify_mail_from != "": check = checker.check_mailaddress(_('Mail From'), obj.input.notify_mail_from, CHECK_LENGTH | CHECK_VALID, EMAIL_MIN_LENGTH, EMAIL_MAX_LENGTH, ) and check obj.view.alert = checker.errors return check
def validates_proxy(obj): checker = Checker() check = True _ = obj._ checker.errors = [] if not is_param(obj.input, 'proxy_status'): check = False checker.add_error(_('"%s" is required.') % _('Proxy Settings')) else: if obj.input.proxy_status == PROXY_ENABLE: if not is_param(obj.input, 'proxy_server'): check = False checker.add_error(_('"%s" is required.') % _('Proxy Server')) else: check = checker.check_domainname( _('Proxy Server'), obj.input.proxy_server, CHECK_EMPTY | CHECK_VALID, None, None, ) and check if not is_param(obj.input, 'proxy_port'): check = False checker.add_error(_('"%s" is required.') % _('Proxy Port Number')) else: check = checker.check_number( _('Port Number'), obj.input.proxy_port, CHECK_EMPTY | CHECK_VALID | CHECK_MIN | CHECK_MAX, PORT_MIN_NUMBER, PORT_MAX_NUMBER, ) and check if not is_param(obj.input, 'proxy_user'): check = False checker.add_error(_('"%s" is required.') % _('Proxy User Name')) else: check = checker.check_username( _('Proxy User Name'), obj.input.proxy_user, CHECK_VALID | CHECK_ONLYSPACE, None, None, ) and check if not is_param(obj.input, 'proxy_password'): check = False checker.add_error(_('"%s" is required.') % _('Proxy Password')) else: check = checker.check_password( _('Proxy Password'), obj.input.proxy_password, obj.input.proxy_password, CHECK_VALID, ) and check; elif obj.input.proxy_status == PROXY_DISABLE: check = True and check else: check = False checker.add_error(_('"%s" is in invalid format.') % _('Proxy Status')) obj.view.alert = checker.errors return check
def validates_graphics(obj): checker = Checker() check = True _ = obj._ checker.errors = [] if not is_param(obj.input, 'port'): check = False checker.add_error(_('"%s" is required.') % _('Graphics Port Number')) else: check = checker.check_number( _('Graphics Port Number'), obj.input.port, CHECK_EMPTY | CHECK_VALID | CHECK_MIN | CHECK_MAX, min = GRAPHICS_PORT_MIN_NUMBER, max = GRAPHICS_PORT_MAX_NUMBER, ) and check if not is_param(obj.input, 'listen'): check = False checker.add_error(_('"%s" is required.') % _('Graphics Listen Address')) else: check = checker.check_empty( _('Graphics Listen Address'), obj.input.listen ) and check if check is True: if not obj.input.listen in ["0.0.0.0", "127.0.0.1"]: checker.add_error(_('%s is in invalid format.') % (_('Graphics Listen Address'))) check = False else: check = True if not is_param(obj.input, 'change_passwd'): check = False checker.add_error(_('"%s" is required.') % _('Graphics Password')) else: check = checker.check_empty( _('Graphics Password'), obj.input.change_passwd ) and check if check is True: if not obj.input.change_passwd in ["random", "empty", "keep"]: checker.add_error(_('%s is in invalid format.') % (_('Graphics Password'))) check = False else: check = True hypervisor = "KVM" if obj.input.VMType == 'XEN': hypervisor = "XEN" elif obj.input.VMType == 'KVM': hypervisor = "KVM" if not is_param(obj.input, 'keymap'): check = False checker.add_error(_('"%s" is required.') % _('Graphics Keymap')) else: check = checker.check_keymap( _('Graphics Keymap'), obj.input.keymap, CHECK_EMPTY | CHECK_EXIST, hypervisor) and check obj.view.alert = checker.errors return check
def validates_watch(obj): checker = Checker() check = True _ = obj._ checker.errors = [] if is_param(obj.input, 'watch_name'): check = checker.check_string( _('Watch Name'), obj.input.watch_name, CHECK_EMPTY | CHECK_ONLYSPACE, None, ) and check else: check = False checker.add_error(_('"%s" is required.') % _('Watch Name')) if is_param(obj.input, 'continuation_count'): check = checker.check_number( _('Alert Trigger Count'), obj.input.continuation_count, CHECK_EMPTY | CHECK_VALID | CHECK_MIN | CHECK_MAX, CONTINUATION_COUNT_MIN, CONTINUATION_COUNT_MAX, ) and check else: check = False checker.add_error(_('"%s" is required.') % _('Alert Trigger Count')) if is_param(obj.input, 'prohibition_period'): check = checker.check_number( _('Silent Period'), obj.input.prohibition_period, CHECK_EMPTY | CHECK_VALID | CHECK_MIN | CHECK_MAX, PROHIBITION_PERIOD_MIN, PROHIBITION_PERIOD_MAX, ) and check else: check = False checker.add_error(_('"%s" is required.') % _('Silent Period')) if is_param(obj.input, 'threshold_fraction'): fraction = int(obj.input.threshold_fraction) else: fraction = 0 if is_param(obj.input, 'threshold_val1'): if fraction == 0: check = checker.check_number( _('Threshold Value'), obj.input.threshold_val1, CHECK_EMPTY | CHECK_VALID | CHECK_MIN, THRESHOLD_VAL_MIN, None, ) and check else: check = checker.check_fraction( _('Threshold Value'), obj.input.threshold_val1, CHECK_EMPTY | CHECK_VALID | CHECK_MIN, THRESHOLD_VAL_MIN, None, fraction, ) and check else: check = False checker.add_error(_('"%s" is required.') % _('Threshold Value')) if is_param(obj.input, 'threshold_val2'): if fraction == 0: check = checker.check_number( _('Threshold Value'), obj.input.threshold_val2, CHECK_EMPTY | CHECK_VALID | CHECK_MIN, THRESHOLD_VAL_MIN, None, ) and check else: check = checker.check_fraction( _('Threshold Value'), obj.input.threshold_val2, CHECK_EMPTY | CHECK_VALID | CHECK_MIN, THRESHOLD_VAL_MIN, None, fraction, ) and check else: check = False checker.add_error(_('"%s" is required.') % _('Threshold Value')) if not is_param(obj.input, 'threshold_type'): check = False checker.add_error(_('"%s" is required.') % _('Threshold Type')) if is_param(obj.input, 'notify_mail_to'): if obj.input.notify_mail_to != "": check = checker.check_mailaddress( _('Mail To'), obj.input.notify_mail_to, CHECK_LENGTH | CHECK_VALID, EMAIL_MIN_LENGTH, EMAIL_MAX_LENGTH, ) and check if is_param(obj.input, 'notify_mail_from'): if obj.input.notify_mail_from != "": check = checker.check_mailaddress( _('Mail From'), obj.input.notify_mail_from, CHECK_LENGTH | CHECK_VALID, EMAIL_MIN_LENGTH, EMAIL_MAX_LENGTH, ) and check obj.view.alert = checker.errors return check
def validates_guest_add(obj): checker = Checker() check = True _ = obj._ checker.errors = [] if not is_param(obj.input, 'm_name'): check = False checker.add_error(_('Parameter m_name does not exist.')) else: check = checker.check_string( _('Machine Name'), obj.input.m_name, CHECK_EMPTY | CHECK_LENGTH | CHECK_ONLYSPACE, None, min=MACHINE_NAME_MIN_LENGTH, max=MACHINE_NAME_MAX_LENGTH, ) and check if is_param(obj.input, 'note_title'): check = checker.check_string( _('Title'), obj.input.note_title, CHECK_LENGTH | CHECK_ONLYSPACE, None, min=NOTE_TITLE_MIN_LENGTH, max=NOTE_TITLE_MAX_LENGTH, ) and check if is_param(obj.input, 'note_value'): check = checker.check_string( _('Note'), obj.input.note_value, CHECK_ONLYSPACE, None, None, None, ) and check if is_param(obj.input, 'tags'): for tag in comma_split(obj.input.tags): check = checker.check_string( _('Tag'), tag, CHECK_LENGTH | CHECK_ONLYSPACE, None, min=TAG_MIN_LENGTH, max=TAG_MAX_LENGTH, ) and check if not is_param(obj.input, 'm_hypervisor'): check = False checker.add_error(_('Parameter m_hypervisor does not exist.')) else: check = checker.check_hypervisor( _('Hypervisor'), obj.input.m_hypervisor, CHECK_EMPTY | CHECK_VALID | CHECK_MIN | CHECK_MAX, HYPERVISOR_MIN_SIZE, HYPERVISOR_MAX_SIZE, ) and check if not is_param(obj.input, 'domain_name'): check = False checker.add_error(_('Parameter domain_name does not exist.')) else: check = checker.check_string( _('Domain Name'), obj.input.domain_name, CHECK_EMPTY | CHECK_VALID | CHECK_LENGTH | CHECK_ONLYSPACE, '[^-a-zA-Z0-9_\.]+', DOMAIN_NAME_MIN_LENGTH, DOMAIN_NAME_MAX_LENGTH, ) and check if obj.input.domain_name in get_dom_list(): dom_type = get_dom_type(obj.input.domain_name) checker.add_error( _("The same domain name already exists for hypervisor '%s'.") % dom_type.upper()) check = False if is_param(obj.input, 'vm_mem_size'): check = checker.check_number( _('Memory Size (MB)'), obj.input.vm_mem_size, CHECK_VALID | CHECK_MIN | CHECK_EMPTY, MEMORY_MIN_SIZE, None, ) and check if is_param(obj.input, 'pool_type'): if obj.input.pool_type != "block": if is_param(obj.input, 'vm_disk_size'): check = checker.check_number( _('Disk Size (MB)'), obj.input.vm_disk_size, CHECK_VALID | CHECK_MIN | CHECK_EMPTY, DISK_MIN_SIZE, None, ) and check if not is_param(obj.input, 'boot_image'): check = False checker.add_error(_('Parameter boot_image does not exist.')) else: if obj.input.boot_image == "kernel": if not is_param(obj.input, 'vm_kernel'): check = False checker.add_error(_('Parameter vm_kernel does not exist.')) else: check = checker.check_startfile( _('Kernel Image'), obj.input.vm_kernel, CHECK_EMPTY | CHECK_VALID | CHECK_EXIST, ) and check if not is_param(obj.input, 'vm_initrd'): check = False checker.add_error(_('Parameter vm_initrd does not exist.')) else: check = checker.check_startfile( _('Initrd Image'), obj.input.vm_initrd, CHECK_EMPTY | CHECK_VALID | CHECK_EXIST, ) and check if obj.input.boot_image == "iso": if not is_param(obj.input, 'vm_iso'): check = False checker.add_error(_('Parameter vm_iso does not exist.')) else: check = checker.check_startfile( _('ISO Image'), obj.input.vm_iso, CHECK_EMPTY | CHECK_VALID | CHECK_EXIST, ) and check if check: check = is_iso9660_filesystem_format(obj.input.vm_iso) checker.add_error( _('"%s" is not valid ISO 9660 CD-ROM filesystem data.') % obj.input.vm_iso) if not is_param(obj.input, 'keymap'): check = False checker.add_error(_('"%s" is required.') % _('Graphics Keymap')) else: hypervisor = "KVM" if int(obj.input.m_hypervisor) == MACHINE_HYPERVISOR['XEN']: hypervisor = "XEN" elif int(obj.input.m_hypervisor) == MACHINE_HYPERVISOR['KVM']: hypervisor = "KVM" check = checker.check_keymap(_('Graphics Keymap'), obj.input.keymap, CHECK_EMPTY | CHECK_EXIST, hypervisor) and check if not is_param(obj.input, 'vm_graphics_port'): check = False checker.add_error(_('Parameter vm_graphics_port does not exist.')) else: check = checker.check_number( _('Graphics Port Number'), obj.input.vm_graphics_port, CHECK_EMPTY | CHECK_VALID | CHECK_MIN | CHECK_MAX, GRAPHICS_PORT_MIN_NUMBER, GRAPHICS_PORT_MAX_NUMBER, ) and check if not is_param(obj.input, 'vm_mac'): check = False checker.add_error(_('Parameter vm_mac does not exist.')) else: check = checker.check_macaddr( _('MAC Address'), obj.input.vm_mac, CHECK_EMPTY | CHECK_VALID, ) and check obj.view.alert = checker.errors return check
def validates_guest_add(obj): checker = Checker() check = True _ = obj._ checker.errors = [] if not is_param(obj.input, 'm_name'): check = False checker.add_error(_('Parameter m_name does not exist.')) else: check = checker.check_string( _('Machine Name'), obj.input.m_name, CHECK_EMPTY | CHECK_LENGTH | CHECK_ONLYSPACE, None, min = MACHINE_NAME_MIN_LENGTH, max = MACHINE_NAME_MAX_LENGTH, ) and check if is_param(obj.input, 'note_title'): check = checker.check_string( _('Title'), obj.input.note_title, CHECK_LENGTH | CHECK_ONLYSPACE, None, min = NOTE_TITLE_MIN_LENGTH, max = NOTE_TITLE_MAX_LENGTH, ) and check if is_param(obj.input, 'note_value'): check = checker.check_string( _('Note'), obj.input.note_value, CHECK_ONLYSPACE, None, None, None, ) and check if is_param(obj.input, 'tags'): for tag in comma_split(obj.input.tags): check = checker.check_string( _('Tag'), tag, CHECK_LENGTH | CHECK_ONLYSPACE, None, min = TAG_MIN_LENGTH, max = TAG_MAX_LENGTH, ) and check if not is_param(obj.input, 'm_hypervisor'): check = False checker.add_error(_('Parameter m_hypervisor does not exist.')) else: check = checker.check_hypervisor( _('Hypervisor'), obj.input.m_hypervisor, CHECK_EMPTY | CHECK_VALID | CHECK_MIN | CHECK_MAX, HYPERVISOR_MIN_SIZE, HYPERVISOR_MAX_SIZE, ) and check if not is_param(obj.input, 'domain_name'): check = False checker.add_error(_('Parameter domain_name does not exist.')) else: check = checker.check_string( _('Domain Name'), obj.input.domain_name, CHECK_EMPTY | CHECK_VALID | CHECK_LENGTH | CHECK_ONLYSPACE, '[^-a-zA-Z0-9_\.]+', DOMAIN_NAME_MIN_LENGTH, DOMAIN_NAME_MAX_LENGTH, ) and check if obj.input.domain_name in get_dom_list(): dom_type = get_dom_type(obj.input.domain_name) checker.add_error(_("The same domain name already exists for hypervisor '%s'.") % dom_type.upper()) check = False if is_param(obj.input, 'vm_mem_size'): check = checker.check_number( _('Memory Size (MB)'), obj.input.vm_mem_size, CHECK_VALID | CHECK_MIN | CHECK_EMPTY, MEMORY_MIN_SIZE, None, ) and check if is_param(obj.input, 'pool_type'): if obj.input.pool_type != "block": if is_param(obj.input, 'vm_disk_size'): check = checker.check_number( _('Disk Size (MB)'), obj.input.vm_disk_size, CHECK_VALID | CHECK_MIN | CHECK_EMPTY, DISK_MIN_SIZE, None, ) and check if not is_param(obj.input, 'boot_image'): check = False checker.add_error(_('Parameter boot_image does not exist.')) else: if obj.input.boot_image == "kernel": if not is_param(obj.input, 'vm_kernel'): check = False checker.add_error(_('Parameter vm_kernel does not exist.')) else: check = checker.check_startfile( _('Kernel Image'), obj.input.vm_kernel, CHECK_EMPTY | CHECK_VALID | CHECK_EXIST, ) and check if not is_param(obj.input, 'vm_initrd'): check = False checker.add_error(_('Parameter vm_initrd does not exist.')) else: check = checker.check_startfile( _('Initrd Image'), obj.input.vm_initrd, CHECK_EMPTY | CHECK_VALID | CHECK_EXIST, ) and check if obj.input.boot_image == "iso": if not is_param(obj.input, 'vm_iso'): check = False checker.add_error(_('Parameter vm_iso does not exist.')) else: check = checker.check_startfile( _('ISO Image'), obj.input.vm_iso, CHECK_EMPTY | CHECK_VALID | CHECK_EXIST, ) and check if check: check = is_iso9660_filesystem_format(obj.input.vm_iso) checker.add_error(_('"%s" is not valid ISO 9660 CD-ROM filesystem data.') % obj.input.vm_iso) if not is_param(obj.input, 'keymap'): check = False checker.add_error(_('"%s" is required.') % _('Graphics Keymap')) else: hypervisor = "KVM" if int(obj.input.m_hypervisor) == MACHINE_HYPERVISOR['XEN']: hypervisor = "XEN" elif int(obj.input.m_hypervisor) == MACHINE_HYPERVISOR['KVM']: hypervisor = "KVM" check = checker.check_keymap( _('Graphics Keymap'), obj.input.keymap, CHECK_EMPTY | CHECK_EXIST, hypervisor ) and check if not is_param(obj.input, 'vm_graphics_port'): check = False checker.add_error(_('Parameter vm_graphics_port does not exist.')) else: check = checker.check_number( _('Graphics Port Number'), obj.input.vm_graphics_port, CHECK_EMPTY | CHECK_VALID | CHECK_MIN | CHECK_MAX, GRAPHICS_PORT_MIN_NUMBER, GRAPHICS_PORT_MAX_NUMBER, ) and check if not is_param(obj.input, 'vm_mac'): check = False checker.add_error(_('Parameter vm_mac does not exist.')) else: check = checker.check_macaddr( _('MAC Address'), obj.input.vm_mac, CHECK_EMPTY | CHECK_VALID, ) and check obj.view.alert = checker.errors return check
def validates_graphics(obj): checker = Checker() check = True _ = obj._ checker.errors = [] if not is_param(obj.input, 'port'): check = False checker.add_error(_('"%s" is required.') % _('Graphics Port Number')) else: check = checker.check_number( _('Graphics Port Number'), obj.input.port, CHECK_EMPTY | CHECK_VALID | CHECK_MIN | CHECK_MAX, min=GRAPHICS_PORT_MIN_NUMBER, max=GRAPHICS_PORT_MAX_NUMBER, ) and check if not is_param(obj.input, 'listen'): check = False checker.add_error( _('"%s" is required.') % _('Graphics Listen Address')) else: check = checker.check_empty(_('Graphics Listen Address'), obj.input.listen) and check if check is True: if not obj.input.listen in ["0.0.0.0", "127.0.0.1"]: checker.add_error( _('%s is in invalid format.') % (_('Graphics Listen Address'))) check = False else: check = True if not is_param(obj.input, 'change_passwd'): check = False checker.add_error(_('"%s" is required.') % _('Graphics Password')) else: check = checker.check_empty(_('Graphics Password'), obj.input.change_passwd) and check if check is True: if not obj.input.change_passwd in ["random", "empty", "keep"]: checker.add_error( _('%s is in invalid format.') % (_('Graphics Password'))) check = False else: check = True hypervisor = "KVM" if obj.input.VMType == 'XEN': hypervisor = "XEN" elif obj.input.VMType == 'KVM': hypervisor = "KVM" if not is_param(obj.input, 'keymap'): check = False checker.add_error(_('"%s" is required.') % _('Graphics Keymap')) else: check = checker.check_keymap(_('Graphics Keymap'), obj.input.keymap, CHECK_EMPTY | CHECK_EXIST, hypervisor) and check obj.view.alert = checker.errors return check
def validates_server(obj): checker = Checker() check = True _ = obj._ checker.errors = [] if not is_param(obj.input, "uniqkey"): check = False checker.add_error(_('"%s" is required.') % _("Unique Key")) else: check = checker.check_unique_key(_("Unique Key"), obj.input.uniqkey, CHECK_EMPTY | CHECK_VALID) and check if not is_param(obj.input, "port"): check = False checker.add_error(_('"%s" is required.') % _("Port Number")) else: check = ( checker.check_number( _("Port Number"), obj.input.port, CHECK_EMPTY | CHECK_VALID | CHECK_MIN | CHECK_MAX, PORT_MIN_NUMBER, PORT_MAX_NUMBER, ) and check ) if not is_param(obj.input, "access"): check = False checker.add_error(_('"%s" is required.') % _("Access Policy")) else: if obj.input.access == "all": check = True and check elif obj.input.access == "network": if not obj.input.has_key("network"): check = False checker.add_error(_('"%s" is required.') % _("Permit access from same network")) else: check = ( checker.check_cidr( _("Permit Access From Same Network"), obj.input.network, CHECK_EMPTY | CHECK_VALID ) and check ) elif obj.input.access == "ipaddress": if not obj.input.has_key("access_ipaddress"): check = False checker.add_error(_('"%s" is required.') % _("Permit access from specified IP address")) else: obj.input.ip_list = obj.input.access_ipaddress.split() obj.input.ip_list = get_no_overlap_list(obj.input.ip_list) if len(obj.input.ip_list) == 0: check = False checker.add_error(_('"%s" is required.') % _("IP Address")) for input_ip in obj.input.ip_list: check = ( checker.check_ipaddr(_("Permit specified IP address"), input_ip, CHECK_EMPTY | CHECK_VALID) and check ) else: check = False if not is_param(obj.input, "ssl_status"): check = False checker.add_error(_('"%s" is required.') % _("SSL Settings")) else: if obj.input.ssl_status == "enable": check = True and check elif obj.input.ssl_status == "disable": check = True and check else: check = False obj.view.alert = checker.errors return check
def validates_me(obj): checker = Checker() check = True _ = obj._ checker.errors = [] _password_flag = True if not is_param(obj.input, 'password'): _password_flag = False check = False checker.add_error(_('"%s" is required.') % _('Password')) if not is_param(obj.input, 'new_password'): _password_flag = False check = False checker.add_error(_('"%s" is required.') % _('New Password')) if not is_param(obj.input, 'retype'): _password_flag = False check = False checker.add_error(_('"%s" is required.') % _('Retype')) if _password_flag == True: if not is_empty(obj.input.password) or \ not is_empty(obj.input.new_password) or \ not is_empty(obj.input.retype): check = checker.check_password( _('Password'), obj.input.password, obj.input.password, CHECK_EMPTY | CHECK_VALID | CHECK_LENGTH, min = PASSWORD_MIN_LENGTH, max = PASSWORD_MAX_LENGTH, ) and check check = checker.check_password( _('Password'), obj.input.new_password, obj.input.retype, CHECK_EMPTY | CHECK_VALID | CHECK_LENGTH, min = PASSWORD_MIN_LENGTH, max = PASSWORD_MAX_LENGTH, ) and check if not is_param(obj.input, 'id'): check = False checker.add_error(_('"%s" is required.') % _('ID')) else: check = checker.check_number( _('ID'), obj.input.id, CHECK_EMPTY | CHECK_VALID | CHECK_MIN | CHECK_MAX, min = ID_MIN_LENGTH, max = ID_MAX_LENGTH, ) and check if not is_param(obj.input, 'email'): check = False checker.add_error(_('"%s" is required.') % _('Mail Address')) else: check = checker.check_mailaddress( _('Mail Address'), obj.input.email, CHECK_EMPTY | CHECK_VALID | CHECK_LENGTH, min = EMAIL_MIN_LENGTH, max = EMAIL_MAX_LENGTH, ) and check if not is_param(obj.input, 'nickname'): check = False checker.add_error(_('"%s" is required.') % _('User Name')) else: check = checker.check_username( _('User Name'), obj.input.nickname, CHECK_EMPTY | CHECK_LENGTH | CHECK_ONLYSPACE, min = USER_MIN_LENGTH, max = USER_MAX_LENGTH, ) and check if not is_param(obj.input, 'languages'): check = False checker.add_error(_('"%s" is required.') % _('Language')) else: check = checker.check_languages( _('Language'), obj.input.languages, CHECK_EMPTY | CHECK_VALID | CHECK_LENGTH, min = LANGUAGES_MIN_LENGTH, max = LANGUAGES_MAX_LENGTH, ) and check obj.view.alert = checker.errors return check
def validates_rule(obj, is_newrule=False): checker = Checker() check = True _ = obj._ checker.errors = [] obj.view.error_msg = checker.errors if is_newrule: kit = KaresansuiIpTables() rule_id_max_length = 1 if os.path.exists(kit.firewall_xml_file) is False: check = False checker.add_error(_('Has not been initialized. Please initialize.')) else: kit.firewall_xml = kit.read_firewall_xml() rule_id_max_length += len(kit.get_rules()) if not is_param(obj.input, 'rule_id'): check = False checker.add_error(_('"%s" is required.') % _('ID')) else: check = checker.check_number( _('ID'), obj.input.rule_id, CHECK_EMPTY | CHECK_VALID | CHECK_MIN | CHECK_MAX, min = ID_MIN_LENGTH, max = rule_id_max_length, ) and check if not is_param(obj.input, 'target'): check = False checker.add_error(_('"%s" is required.') % _('Target')) else: check = checker.check_firewall_policy( _('Target'), obj.input.target, CHECK_EMPTY | CHECK_VALID, ) and check if not is_param(obj.input, 'protocol'): check = False checker.add_error(_('"%s" is required.') % _('Protocol')) else: check = checker.check_firewall_protocol( _('Protocol'), obj.input.protocol, CHECK_VALID, ) and check if not is_param(obj.input, 'source'): check = False checker.add_error(_('"%s" is required.') % _('Source Address')) else: check = checker.check_ipaddr( _('Source Address'), obj.input.source, CHECK_VALID, ) and check if not is_param(obj.input, 'sport'): check = False checker.add_error(_('"%s" is required.') % _('Source Port')) else: if obj.input.protocol == 'tcp' or obj.input.protocol == 'udp': check = checker.check_number( _('Source Port'), obj.input.sport, CHECK_VALID | CHECK_MIN | CHECK_MAX, min = PORT_MIN_NUMBER, max = PORT_MAX_NUMBER, ) and check if not is_param(obj.input, 'destination'): check = False checker.add_error(_('"%s" is required.') % _('Destination Address')) else: check = checker.check_ipaddr( _('Destination Address'), obj.input.destination, CHECK_VALID, ) and check if not is_param(obj.input, 'dport'): check = False checker.add_error(_('"%s" is required.') % _('Destination Port')) else: if obj.input.protocol == 'tcp' or obj.input.protocol == 'udp': check = checker.check_number( _('Destination Port'), obj.input.dport, CHECK_VALID | CHECK_MIN | CHECK_MAX, min = PORT_MIN_NUMBER, max = PORT_MAX_NUMBER, ) and check if not is_param(obj.input, 'inif'): check = False checker.add_error(_('"%s" is required.') % _('In Interface')) else: check = checker.check_firewall_if( _('In Interface'), obj.input.inif, CHECK_EXIST, ) and check if not is_param(obj.input, 'outif'): check = False checker.add_error(_('"%s" is required.') % _('Out Interface')) else: check = checker.check_firewall_if( _('Out Interface'), obj.input.outif, CHECK_EXIST, ) and check obj.view.alert = checker.errors return check
def validates_network_storage(obj): checker = Checker() check = True _ = obj._ checker.errors = [] if is_param(obj.input, 'network_storage_host_name'): check = checker.check_domainname( _('Target Hostname'), obj.input.network_storage_host_name, CHECK_EMPTY | CHECK_VALID, ) and check else: check = False checker.add_error(_('"%s" is required.') % _('Target Hostname')) if is_param(obj.input, 'network_storage_port_number'): check = checker.check_number( _('Target Port Number'), obj.input.network_storage_port_number, CHECK_VALID | CHECK_MIN | CHECK_MAX, PORT_MIN_NUMBER, PORT_MAX_NUMBER, ) and check if is_param(obj.input, 'network_storage_authentication'): check = checker.check_empty( _('iSCSI Authentication Type'), obj.input.network_storage_authentication, ) and check if obj.input.network_storage_authentication == ISCSI_CONFIG_VALUE_AUTH_METHOD_CHAP: if is_param(obj.input, 'network_storage_user'): check = checker.check_username_with_num( _('iSCSI Authentication User'), obj.input.network_storage_user, CHECK_VALID | CHECK_LENGTH, CHAP_USER_MIN_LENGTH, CHAP_USER_MAX_LENGTH, ) and check else: check = False checker.add_error( _('"%s" is required.') % _('iSCSI Authentication User')) if is_param(obj.input, 'network_storage_password'): check = checker.check_password( _('iSCSI Authentication Password'), obj.input.network_storage_password, obj.input.network_storage_password, CHECK_LENGTH, CHAP_PASSWORD_MIN_LENGTH, CHAP_PASSWORD_MAX_LENGTH, ) and check else: check = False checker.add_error( _('"%s" is required.') % _('iSCSI Authentication Password')) else: check = False checker.add_error( _('"%s" is required.') % _('iSCSI Authentication Type')) obj.view.alert = checker.errors return check