The openstack_dashboard.dashboards.project.firewalls.tables ModuleΒΆ

class openstack_dashboard.dashboards.project.firewalls.tables.AddFirewallLink(attrs=None, **kwargs)[source]

Bases: horizon.tables.actions.LinkAction

base_options = {'__module__': 'openstack_dashboard.dashboards.project.firewalls.tables', 'render': <function render at 0x36a1050>, 'update': <function update at 0x369ec08>, 'policy_rules': (('network', 'create_firewall'),), 'get_link_url': <function get_link_url at 0x36a1140>, 'ajax': False, 'allowed': <function allowed at 0x369eb18>, 'base_options': {'__module__': 'horizon.tables.actions', 'data_type_matched': <function data_type_matched at 0x369ea28>, 'get_default_classes': <function get_default_classes at 0x369ec80>, 'update': <function update at 0x369ec08>, 'get_policy_target': <function get_policy_target at 0x369eaa0>, 'associate_with_table': <function associate_with_table at 0x369ede8>, '_allowed': <function _allowed at 0x369eb90>, '__repr__': <function __repr__ at 0x369ed70>, 'allowed': <function allowed at 0x369eb18>, 'get_default_attrs': <function get_default_attrs at 0x369ecf8>, 'base_options': {...}, '__doc__': 'Common base class for all ``Action`` classes.', '__init__': <function __init__ at 0x369e9b0>}, 'get_default_attrs': <function get_default_attrs at 0x369ecf8>, '__init__': <function __init__ at 0x369eed8>, 'icon': 'plus', 'name': 'addfirewall', 'url': 'horizon:project:firewalls:addfirewall', 'data_type_matched': <function data_type_matched at 0x369ea28>, 'get_default_classes': <function get_default_classes at 0x369ec80>, 'get_policy_target': <function get_policy_target at 0x369eaa0>, 'associate_with_table': <function associate_with_table at 0x36a10c8>, '_allowed': <function _allowed at 0x369eb90>, 'classes': ('ajax-modal',), '__repr__': <function __repr__ at 0x369ed70>, 'get_ajax_update_url': <function get_ajax_update_url at 0x369ef50>, 'verbose_name': <django.utils.functional.__proxy__ object at 0xd0e1090>, '__doc__': 'A table action which is simply a link rather than a form POST.\n\n .. attribute:: name\n\n Required. The short name or "slug" representing this\n action. This name should not be changed at runtime.\n\n .. attribute:: verbose_name\n\n A string which will be rendered as the link text. (Required)\n\n .. attribute:: url\n\n A string or a callable which resolves to a url to be used as the link\n target. You must either define the ``url`` attribute or override\n the ``get_link_url`` method on the class.\n\n .. attribute:: allowed_data_types\n\n A list that contains the allowed data types of the action. If the\n datum\'s type is in this list, the action will be shown on the row\n for the datum.\n\n Defaults to be an empty list (``[]``). When set to empty, the action\n will accept any kind of data.\n '}
classes = ('ajax-modal',)
icon = 'plus'
name = 'addfirewall'
policy_rules = (('network', 'create_firewall'),)
url = 'horizon:project:firewalls:addfirewall'
verbose_name = <django.utils.functional.__proxy__ object at 0xd0e1090>
class openstack_dashboard.dashboards.project.firewalls.tables.AddPolicyLink(attrs=None, **kwargs)[source]

Bases: horizon.tables.actions.LinkAction

base_options = {'__module__': 'openstack_dashboard.dashboards.project.firewalls.tables', 'render': <function render at 0x36a1050>, 'update': <function update at 0x369ec08>, 'policy_rules': (('network', 'create_firewall_policy'),), 'get_link_url': <function get_link_url at 0x36a1140>, 'ajax': False, 'allowed': <function allowed at 0x369eb18>, 'base_options': {'__module__': 'horizon.tables.actions', 'data_type_matched': <function data_type_matched at 0x369ea28>, 'get_default_classes': <function get_default_classes at 0x369ec80>, 'update': <function update at 0x369ec08>, 'get_policy_target': <function get_policy_target at 0x369eaa0>, 'associate_with_table': <function associate_with_table at 0x369ede8>, '_allowed': <function _allowed at 0x369eb90>, '__repr__': <function __repr__ at 0x369ed70>, 'allowed': <function allowed at 0x369eb18>, 'get_default_attrs': <function get_default_attrs at 0x369ecf8>, 'base_options': {...}, '__doc__': 'Common base class for all ``Action`` classes.', '__init__': <function __init__ at 0x369e9b0>}, 'get_default_attrs': <function get_default_attrs at 0x369ecf8>, '__init__': <function __init__ at 0x369eed8>, 'icon': 'plus', 'name': 'addpolicy', 'url': 'horizon:project:firewalls:addpolicy', 'data_type_matched': <function data_type_matched at 0x369ea28>, 'get_default_classes': <function get_default_classes at 0x369ec80>, 'get_policy_target': <function get_policy_target at 0x369eaa0>, 'associate_with_table': <function associate_with_table at 0x36a10c8>, '_allowed': <function _allowed at 0x369eb90>, 'classes': ('ajax-modal', 'btn-addpolicy'), '__repr__': <function __repr__ at 0x369ed70>, 'get_ajax_update_url': <function get_ajax_update_url at 0x369ef50>, 'verbose_name': <django.utils.functional.__proxy__ object at 0xd0e1c50>, '__doc__': 'A table action which is simply a link rather than a form POST.\n\n .. attribute:: name\n\n Required. The short name or "slug" representing this\n action. This name should not be changed at runtime.\n\n .. attribute:: verbose_name\n\n A string which will be rendered as the link text. (Required)\n\n .. attribute:: url\n\n A string or a callable which resolves to a url to be used as the link\n target. You must either define the ``url`` attribute or override\n the ``get_link_url`` method on the class.\n\n .. attribute:: allowed_data_types\n\n A list that contains the allowed data types of the action. If the\n datum\'s type is in this list, the action will be shown on the row\n for the datum.\n\n Defaults to be an empty list (``[]``). When set to empty, the action\n will accept any kind of data.\n '}
classes = ('ajax-modal', 'btn-addpolicy')
icon = 'plus'
name = 'addpolicy'
policy_rules = (('network', 'create_firewall_policy'),)
url = 'horizon:project:firewalls:addpolicy'
verbose_name = <django.utils.functional.__proxy__ object at 0xd0e1c50>
class openstack_dashboard.dashboards.project.firewalls.tables.AddRouterToFirewallLink(attrs=None, **kwargs)[source]

Bases: openstack_dashboard.policy.PolicyTargetMixin, horizon.tables.actions.LinkAction

allowed(request, firewall)[source]
base_options = {'__module__': 'openstack_dashboard.dashboards.project.firewalls.tables', 'render': <function render at 0x36a1050>, 'update': <function update at 0x369ec08>, 'policy_rules': (('network', 'get_firewall'), ('network', 'add_router')), 'get_link_url': <function get_link_url at 0xd22ec80>, 'ajax': False, 'allowed': <function allowed at 0xd22ecf8>, 'base_options': {'__module__': 'horizon.tables.actions', 'data_type_matched': <function data_type_matched at 0x369ea28>, 'get_default_classes': <function get_default_classes at 0x369ec80>, 'update': <function update at 0x369ec08>, 'get_policy_target': <function get_policy_target at 0x369eaa0>, 'associate_with_table': <function associate_with_table at 0x369ede8>, '_allowed': <function _allowed at 0x369eb90>, '__repr__': <function __repr__ at 0x369ed70>, 'allowed': <function allowed at 0x369eb18>, 'get_default_attrs': <function get_default_attrs at 0x369ecf8>, 'base_options': {...}, '__doc__': 'Common base class for all ``Action`` classes.', '__init__': <function __init__ at 0x369e9b0>}, 'get_default_attrs': <function get_default_attrs at 0x369ecf8>, '__init__': <function __init__ at 0x369eed8>, 'name': 'addrouter', 'data_type_matched': <function data_type_matched at 0x369ea28>, 'get_default_classes': <function get_default_classes at 0x369ec80>, 'get_policy_target': <function get_policy_target at 0x369eaa0>, 'associate_with_table': <function associate_with_table at 0x36a10c8>, '_allowed': <function _allowed at 0x369eb90>, 'classes': ('ajax-modal', 'btn-update'), '__repr__': <function __repr__ at 0x369ed70>, 'get_ajax_update_url': <function get_ajax_update_url at 0x369ef50>, 'verbose_name': <django.utils.functional.__proxy__ object at 0xd113d10>, '__doc__': 'A table action which is simply a link rather than a form POST.\n\n .. attribute:: name\n\n Required. The short name or "slug" representing this\n action. This name should not be changed at runtime.\n\n .. attribute:: verbose_name\n\n A string which will be rendered as the link text. (Required)\n\n .. attribute:: url\n\n A string or a callable which resolves to a url to be used as the link\n target. You must either define the ``url`` attribute or override\n the ``get_link_url`` method on the class.\n\n .. attribute:: allowed_data_types\n\n A list that contains the allowed data types of the action. If the\n datum\'s type is in this list, the action will be shown on the row\n for the datum.\n\n Defaults to be an empty list (``[]``). When set to empty, the action\n will accept any kind of data.\n '}
classes = ('ajax-modal', 'btn-update')
get_link_url(firewall)[source]
name = 'addrouter'
policy_rules = (('network', 'get_firewall'), ('network', 'add_router'))
verbose_name = <django.utils.functional.__proxy__ object at 0xd113d10>
class openstack_dashboard.dashboards.project.firewalls.tables.AddRuleLink(attrs=None, **kwargs)[source]

Bases: horizon.tables.actions.LinkAction

base_options = {'__module__': 'openstack_dashboard.dashboards.project.firewalls.tables', 'render': <function render at 0x36a1050>, 'update': <function update at 0x369ec08>, 'policy_rules': (('network', 'create_firewall_rule'),), 'get_link_url': <function get_link_url at 0x36a1140>, 'ajax': False, 'allowed': <function allowed at 0x369eb18>, 'base_options': {'__module__': 'horizon.tables.actions', 'data_type_matched': <function data_type_matched at 0x369ea28>, 'get_default_classes': <function get_default_classes at 0x369ec80>, 'update': <function update at 0x369ec08>, 'get_policy_target': <function get_policy_target at 0x369eaa0>, 'associate_with_table': <function associate_with_table at 0x369ede8>, '_allowed': <function _allowed at 0x369eb90>, '__repr__': <function __repr__ at 0x369ed70>, 'allowed': <function allowed at 0x369eb18>, 'get_default_attrs': <function get_default_attrs at 0x369ecf8>, 'base_options': {...}, '__doc__': 'Common base class for all ``Action`` classes.', '__init__': <function __init__ at 0x369e9b0>}, 'get_default_attrs': <function get_default_attrs at 0x369ecf8>, '__init__': <function __init__ at 0x369eed8>, 'icon': 'plus', 'name': 'addrule', 'url': 'horizon:project:firewalls:addrule', 'data_type_matched': <function data_type_matched at 0x369ea28>, 'get_default_classes': <function get_default_classes at 0x369ec80>, 'get_policy_target': <function get_policy_target at 0x369eaa0>, 'associate_with_table': <function associate_with_table at 0x36a10c8>, '_allowed': <function _allowed at 0x369eb90>, 'classes': ('ajax-modal',), '__repr__': <function __repr__ at 0x369ed70>, 'get_ajax_update_url': <function get_ajax_update_url at 0x369ef50>, 'verbose_name': <django.utils.functional.__proxy__ object at 0xd0e8d90>, '__doc__': 'A table action which is simply a link rather than a form POST.\n\n .. attribute:: name\n\n Required. The short name or "slug" representing this\n action. This name should not be changed at runtime.\n\n .. attribute:: verbose_name\n\n A string which will be rendered as the link text. (Required)\n\n .. attribute:: url\n\n A string or a callable which resolves to a url to be used as the link\n target. You must either define the ``url`` attribute or override\n the ``get_link_url`` method on the class.\n\n .. attribute:: allowed_data_types\n\n A list that contains the allowed data types of the action. If the\n datum\'s type is in this list, the action will be shown on the row\n for the datum.\n\n Defaults to be an empty list (``[]``). When set to empty, the action\n will accept any kind of data.\n '}
classes = ('ajax-modal',)
icon = 'plus'
name = 'addrule'
policy_rules = (('network', 'create_firewall_rule'),)
url = 'horizon:project:firewalls:addrule'
verbose_name = <django.utils.functional.__proxy__ object at 0xd0e8d90>
class openstack_dashboard.dashboards.project.firewalls.tables.DeleteFirewallLink(**kwargs)[source]

Bases: openstack_dashboard.policy.PolicyTargetMixin, horizon.tables.actions.DeleteAction

static action_past(count)[source]
static action_present(count)[source]
base_options = {'__module__': 'openstack_dashboard.dashboards.project.firewalls.tables', 'handle': <function handle at 0x36a1aa0>, 'update': <function update at 0x36a1938>, 'policy_rules': (('network', 'delete_firewall'),), 'get_success_url': <function get_success_url at 0x36a19b0>, 'get_param_name': <function get_param_name at 0x369ee60>, 'allowed': <function allowed at 0x369eb18>, 'help_text': <django.utils.functional.__proxy__ object at 0x3ab9a90>, 'base_options': {'__module__': 'horizon.tables.actions', 'data_type_matched': <function data_type_matched at 0x369ea28>, 'get_default_classes': <function get_default_classes at 0x369ec80>, 'update': <function update at 0x369ec08>, 'get_policy_target': <function get_policy_target at 0x369eaa0>, 'associate_with_table': <function associate_with_table at 0x369ede8>, '_allowed': <function _allowed at 0x369eb90>, '__repr__': <function __repr__ at 0x369ed70>, 'allowed': <function allowed at 0x369eb18>, 'get_default_attrs': <function get_default_attrs at 0x369ecf8>, 'base_options': {...}, '__doc__': 'Common base class for all ``Action`` classes.', '__init__': <function __init__ at 0x369e9b0>}, '__init__': <function __init__ at 0x36a1b18>, 'name': 'deletefirewall', 'action_present': <staticmethod object at 0xd000948>, 'action_past': <staticmethod object at 0xd000ec0>, 'data_type_matched': <function data_type_matched at 0x369ea28>, 'get_default_classes': <function get_default_classes at 0x369ec80>, 'get_policy_target': <function get_policy_target at 0x369eaa0>, 'associate_with_table': <function associate_with_table at 0x369ede8>, '_allowed': <function _allowed at 0x36a17d0>, '_get_action_name': <function _get_action_name at 0x36a1848>, '__repr__': <function __repr__ at 0x369ed70>, 'action': <function action at 0x36a1b90>, 'get_default_attrs': <function get_default_attrs at 0x36a1a28>, '__doc__': 'A table action used to perform delete operations on table data.\n\n .. attribute:: name\n\n A short name or "slug" representing this action.\n Defaults to \'delete\'\n\n .. method:: action_present\n\n Method accepting an integer/long parameter and returning the display\n forms of the name properly pluralised (depending on the integer) and\n translated in a string or tuple/list.\n\n .. attribute:: action_present (Deprecated)\n\n A string containing the transitive verb describing the delete action.\n Defaults to \'Delete\'\n\n NOTE: action_present attribute is bad for translations and should be\n avoided. Please use the action_present method instead.\n This form is kept for legacy.\n\n .. method:: action_past\n\n Method accepting an integer/long parameter and returning the display\n forms of the name properly pluralised (depending on the integer) and\n translated in a string or tuple/list.\n\n .. attribute:: action_past (Deprecated)\n\n A string set to the past tense of action_present.\n Defaults to \'Deleted\'\n\n NOTE: action_past attribute is bad for translations and should be\n avoided. Please use the action_past method instead.\n This form is kept for legacy.\n\n .. attribute:: data_type_singular (Deprecated)\n\n A string used to name the data to be deleted.\n\n .. attribute:: data_type_plural (Deprecated)\n\n Optional. Plural of ``data_type_singular``.\n Defaults to ``data_type_singular`` appended with an \'s\'. Relying on\n the default is bad for translations and should not be done, so it\'s\n absence will raise a DeprecationWarning. It is currently kept as\n optional for legacy code.\n\n NOTE: data_type_singular and data_type_plural attributes are bad for\n translations and should not be used. Please use the action_present and\n action_past methods. This form is kept temporarily for legacy code but\n will be removed.\n ', 'delete': <function delete at 0xd22e848>}
delete(request, obj_id)[source]
name = 'deletefirewall'
policy_rules = (('network', 'delete_firewall'),)
class openstack_dashboard.dashboards.project.firewalls.tables.DeletePolicyLink(**kwargs)[source]

Bases: openstack_dashboard.policy.PolicyTargetMixin, horizon.tables.actions.DeleteAction

static action_past(count)[source]
static action_present(count)[source]
base_options = {'__module__': 'openstack_dashboard.dashboards.project.firewalls.tables', 'handle': <function handle at 0x36a1aa0>, 'update': <function update at 0x36a1938>, 'policy_rules': (('network', 'delete_firewall_policy'),), 'get_success_url': <function get_success_url at 0x36a19b0>, 'get_param_name': <function get_param_name at 0x369ee60>, 'allowed': <function allowed at 0x369eb18>, 'help_text': <django.utils.functional.__proxy__ object at 0x3ab9a90>, 'base_options': {'__module__': 'horizon.tables.actions', 'data_type_matched': <function data_type_matched at 0x369ea28>, 'get_default_classes': <function get_default_classes at 0x369ec80>, 'update': <function update at 0x369ec08>, 'get_policy_target': <function get_policy_target at 0x369eaa0>, 'associate_with_table': <function associate_with_table at 0x369ede8>, '_allowed': <function _allowed at 0x369eb90>, '__repr__': <function __repr__ at 0x369ed70>, 'allowed': <function allowed at 0x369eb18>, 'get_default_attrs': <function get_default_attrs at 0x369ecf8>, 'base_options': {...}, '__doc__': 'Common base class for all ``Action`` classes.', '__init__': <function __init__ at 0x369e9b0>}, '__init__': <function __init__ at 0x36a1b18>, 'name': 'deletepolicy', 'action_present': <staticmethod object at 0xd000d38>, 'action_past': <staticmethod object at 0xd000cc8>, 'data_type_matched': <function data_type_matched at 0x369ea28>, 'get_default_classes': <function get_default_classes at 0x369ec80>, 'get_policy_target': <function get_policy_target at 0x369eaa0>, 'associate_with_table': <function associate_with_table at 0x369ede8>, '_allowed': <function _allowed at 0x36a17d0>, '_get_action_name': <function _get_action_name at 0x36a1848>, '__repr__': <function __repr__ at 0x369ed70>, 'action': <function action at 0x36a1b90>, 'get_default_attrs': <function get_default_attrs at 0x36a1a28>, '__doc__': 'A table action used to perform delete operations on table data.\n\n .. attribute:: name\n\n A short name or "slug" representing this action.\n Defaults to \'delete\'\n\n .. method:: action_present\n\n Method accepting an integer/long parameter and returning the display\n forms of the name properly pluralised (depending on the integer) and\n translated in a string or tuple/list.\n\n .. attribute:: action_present (Deprecated)\n\n A string containing the transitive verb describing the delete action.\n Defaults to \'Delete\'\n\n NOTE: action_present attribute is bad for translations and should be\n avoided. Please use the action_present method instead.\n This form is kept for legacy.\n\n .. method:: action_past\n\n Method accepting an integer/long parameter and returning the display\n forms of the name properly pluralised (depending on the integer) and\n translated in a string or tuple/list.\n\n .. attribute:: action_past (Deprecated)\n\n A string set to the past tense of action_present.\n Defaults to \'Deleted\'\n\n NOTE: action_past attribute is bad for translations and should be\n avoided. Please use the action_past method instead.\n This form is kept for legacy.\n\n .. attribute:: data_type_singular (Deprecated)\n\n A string used to name the data to be deleted.\n\n .. attribute:: data_type_plural (Deprecated)\n\n Optional. Plural of ``data_type_singular``.\n Defaults to ``data_type_singular`` appended with an \'s\'. Relying on\n the default is bad for translations and should not be done, so it\'s\n absence will raise a DeprecationWarning. It is currently kept as\n optional for legacy code.\n\n NOTE: data_type_singular and data_type_plural attributes are bad for\n translations and should not be used. Please use the action_present and\n action_past methods. This form is kept temporarily for legacy code but\n will be removed.\n ', 'delete': <function delete at 0xd22e668>}
delete(request, obj_id)[source]
name = 'deletepolicy'
policy_rules = (('network', 'delete_firewall_policy'),)
class openstack_dashboard.dashboards.project.firewalls.tables.DeleteRuleLink(**kwargs)[source]

Bases: openstack_dashboard.policy.PolicyTargetMixin, horizon.tables.actions.DeleteAction

static action_past(count)[source]
static action_present(count)[source]
allowed(request, datum=None)[source]
base_options = {'__module__': 'openstack_dashboard.dashboards.project.firewalls.tables', 'handle': <function handle at 0x36a1aa0>, 'update': <function update at 0x36a1938>, 'policy_rules': (('network', 'delete_firewall_rule'),), 'get_success_url': <function get_success_url at 0x36a19b0>, 'get_param_name': <function get_param_name at 0x369ee60>, 'allowed': <function allowed at 0xd22e410>, 'help_text': <django.utils.functional.__proxy__ object at 0x3ab9a90>, 'base_options': {'__module__': 'horizon.tables.actions', 'data_type_matched': <function data_type_matched at 0x369ea28>, 'get_default_classes': <function get_default_classes at 0x369ec80>, 'update': <function update at 0x369ec08>, 'get_policy_target': <function get_policy_target at 0x369eaa0>, 'associate_with_table': <function associate_with_table at 0x369ede8>, '_allowed': <function _allowed at 0x369eb90>, '__repr__': <function __repr__ at 0x369ed70>, 'allowed': <function allowed at 0x369eb18>, 'get_default_attrs': <function get_default_attrs at 0x369ecf8>, 'base_options': {...}, '__doc__': 'Common base class for all ``Action`` classes.', '__init__': <function __init__ at 0x369e9b0>}, '__init__': <function __init__ at 0x36a1b18>, 'name': 'deleterule', 'action_present': <staticmethod object at 0xd0007c0>, 'action_past': <staticmethod object at 0xd000f68>, 'data_type_matched': <function data_type_matched at 0x369ea28>, 'get_default_classes': <function get_default_classes at 0x369ec80>, 'get_policy_target': <function get_policy_target at 0x369eaa0>, 'associate_with_table': <function associate_with_table at 0x369ede8>, '_allowed': <function _allowed at 0x36a17d0>, '_get_action_name': <function _get_action_name at 0x36a1848>, '__repr__': <function __repr__ at 0x369ed70>, 'action': <function action at 0x36a1b90>, 'get_default_attrs': <function get_default_attrs at 0x36a1a28>, '__doc__': 'A table action used to perform delete operations on table data.\n\n .. attribute:: name\n\n A short name or "slug" representing this action.\n Defaults to \'delete\'\n\n .. method:: action_present\n\n Method accepting an integer/long parameter and returning the display\n forms of the name properly pluralised (depending on the integer) and\n translated in a string or tuple/list.\n\n .. attribute:: action_present (Deprecated)\n\n A string containing the transitive verb describing the delete action.\n Defaults to \'Delete\'\n\n NOTE: action_present attribute is bad for translations and should be\n avoided. Please use the action_present method instead.\n This form is kept for legacy.\n\n .. method:: action_past\n\n Method accepting an integer/long parameter and returning the display\n forms of the name properly pluralised (depending on the integer) and\n translated in a string or tuple/list.\n\n .. attribute:: action_past (Deprecated)\n\n A string set to the past tense of action_present.\n Defaults to \'Deleted\'\n\n NOTE: action_past attribute is bad for translations and should be\n avoided. Please use the action_past method instead.\n This form is kept for legacy.\n\n .. attribute:: data_type_singular (Deprecated)\n\n A string used to name the data to be deleted.\n\n .. attribute:: data_type_plural (Deprecated)\n\n Optional. Plural of ``data_type_singular``.\n Defaults to ``data_type_singular`` appended with an \'s\'. Relying on\n the default is bad for translations and should not be done, so it\'s\n absence will raise a DeprecationWarning. It is currently kept as\n optional for legacy code.\n\n NOTE: data_type_singular and data_type_plural attributes are bad for\n translations and should not be used. Please use the action_present and\n action_past methods. This form is kept temporarily for legacy code but\n will be removed.\n ', 'delete': <function delete at 0xd22e488>}
delete(request, obj_id)[source]
name = 'deleterule'
policy_rules = (('network', 'delete_firewall_rule'),)
class openstack_dashboard.dashboards.project.firewalls.tables.FirewallsTable(request, data=None, needs_form_wrapper=None, **kwargs)[source]

Bases: horizon.tables.base.DataTable

ADMIN_STATE_DISPLAY_CHOICES = (('UP', <django.utils.functional.__proxy__ object at 0xd325ed0>), ('DOWN', <django.utils.functional.__proxy__ object at 0xd325f10>))
class Meta[source]

Bases: object

name = 'firewallstable'
row_actions = (<class 'openstack_dashboard.dashboards.project.firewalls.tables.UpdateFirewallLink'>, <class 'openstack_dashboard.dashboards.project.firewalls.tables.DeleteFirewallLink'>, <class 'openstack_dashboard.dashboards.project.firewalls.tables.AddRouterToFirewallLink'>, <class 'openstack_dashboard.dashboards.project.firewalls.tables.RemoveRouterFromFirewallLink'>)
table_actions = (<class 'openstack_dashboard.dashboards.project.firewalls.tables.AddFirewallLink'>, <class 'openstack_dashboard.dashboards.project.firewalls.tables.DeleteFirewallLink'>, <class 'horizon.tables.actions.NameFilterAction'>)
verbose_name = <django.utils.functional.__proxy__ object at 0xd326690>
FirewallsTable.STATUS_DISPLAY_CHOICES = (('Active', <django.utils.functional.__proxy__ object at 0xd325ad0>), ('Down', <django.utils.functional.__proxy__ object at 0xd325d10>), ('Error', <django.utils.functional.__proxy__ object at 0xd325d50>), ('Created', <django.utils.functional.__proxy__ object at 0xd325d90>), ('Pending_Create', <django.utils.functional.__proxy__ object at 0xd325dd0>), ('Pending_Update', <django.utils.functional.__proxy__ object at 0xd325e10>), ('Pending_Delete', <django.utils.functional.__proxy__ object at 0xd325e50>), ('Inactive', <django.utils.functional.__proxy__ object at 0xd325e90>))
FirewallsTable.base_actions = OrderedDict([('addfirewall', <AddFirewallLink: addfirewall>), ('addrouter', <AddRouterToFirewallLink: addrouter>), ('deletefirewall', <DeleteFirewallLink: deletefirewall>), ('filter', <NameFilterAction: filter>), ('removerouter', <RemoveRouterFromFirewallLink: removerouter>), ('updatefirewall', <UpdateFirewallLink: updatefirewall>)])
FirewallsTable.base_columns = OrderedDict([('name', <Column: name>), ('description', <Column: description>), ('firewall_policy_id', <Column: firewall_policy_id>), ('router_ids', <Column: router_ids>), ('status', <Column: status>), ('admin_state', <Column: admin_state>)])
class openstack_dashboard.dashboards.project.firewalls.tables.InsertRuleToPolicyLink(attrs=None, **kwargs)[source]

Bases: openstack_dashboard.policy.PolicyTargetMixin, horizon.tables.actions.LinkAction

base_options = {'__module__': 'openstack_dashboard.dashboards.project.firewalls.tables', 'render': <function render at 0x36a1050>, 'update': <function update at 0x369ec08>, 'policy_rules': (('network', 'get_firewall_policy'), ('network', 'insert_rule')), 'get_link_url': <function get_link_url at 0xd22eb18>, 'ajax': False, 'allowed': <function allowed at 0x369eb18>, 'base_options': {'__module__': 'horizon.tables.actions', 'data_type_matched': <function data_type_matched at 0x369ea28>, 'get_default_classes': <function get_default_classes at 0x369ec80>, 'update': <function update at 0x369ec08>, 'get_policy_target': <function get_policy_target at 0x369eaa0>, 'associate_with_table': <function associate_with_table at 0x369ede8>, '_allowed': <function _allowed at 0x369eb90>, '__repr__': <function __repr__ at 0x369ed70>, 'allowed': <function allowed at 0x369eb18>, 'get_default_attrs': <function get_default_attrs at 0x369ecf8>, 'base_options': {...}, '__doc__': 'Common base class for all ``Action`` classes.', '__init__': <function __init__ at 0x369e9b0>}, 'get_default_attrs': <function get_default_attrs at 0x369ecf8>, '__init__': <function __init__ at 0x369eed8>, 'name': 'insertrule', 'data_type_matched': <function data_type_matched at 0x369ea28>, 'get_default_classes': <function get_default_classes at 0x369ec80>, 'get_policy_target': <function get_policy_target at 0x369eaa0>, 'associate_with_table': <function associate_with_table at 0x36a10c8>, '_allowed': <function _allowed at 0x369eb90>, 'classes': ('ajax-modal', 'btn-update'), '__repr__': <function __repr__ at 0x369ed70>, 'get_ajax_update_url': <function get_ajax_update_url at 0x369ef50>, 'verbose_name': <django.utils.functional.__proxy__ object at 0xd113cd0>, '__doc__': 'A table action which is simply a link rather than a form POST.\n\n .. attribute:: name\n\n Required. The short name or "slug" representing this\n action. This name should not be changed at runtime.\n\n .. attribute:: verbose_name\n\n A string which will be rendered as the link text. (Required)\n\n .. attribute:: url\n\n A string or a callable which resolves to a url to be used as the link\n target. You must either define the ``url`` attribute or override\n the ``get_link_url`` method on the class.\n\n .. attribute:: allowed_data_types\n\n A list that contains the allowed data types of the action. If the\n datum\'s type is in this list, the action will be shown on the row\n for the datum.\n\n Defaults to be an empty list (``[]``). When set to empty, the action\n will accept any kind of data.\n '}
classes = ('ajax-modal', 'btn-update')
get_link_url(policy)[source]
name = 'insertrule'
policy_rules = (('network', 'get_firewall_policy'), ('network', 'insert_rule'))
verbose_name = <django.utils.functional.__proxy__ object at 0xd113cd0>
class openstack_dashboard.dashboards.project.firewalls.tables.PoliciesTable(request, data=None, needs_form_wrapper=None, **kwargs)[source]

Bases: horizon.tables.base.DataTable

class Meta[source]

Bases: object

name = 'policiestable'
row_actions = (<class 'openstack_dashboard.dashboards.project.firewalls.tables.UpdatePolicyLink'>, <class 'openstack_dashboard.dashboards.project.firewalls.tables.InsertRuleToPolicyLink'>, <class 'openstack_dashboard.dashboards.project.firewalls.tables.RemoveRuleFromPolicyLink'>, <class 'openstack_dashboard.dashboards.project.firewalls.tables.DeletePolicyLink'>)
table_actions = (<class 'openstack_dashboard.dashboards.project.firewalls.tables.AddPolicyLink'>, <class 'openstack_dashboard.dashboards.project.firewalls.tables.DeletePolicyLink'>, <class 'horizon.tables.actions.NameFilterAction'>)
verbose_name = <django.utils.functional.__proxy__ object at 0xd325590>
PoliciesTable.base_actions = OrderedDict([('addpolicy', <AddPolicyLink: addpolicy>), ('deletepolicy', <DeletePolicyLink: deletepolicy>), ('filter', <NameFilterAction: filter>), ('insertrule', <InsertRuleToPolicyLink: insertrule>), ('removerule', <RemoveRuleFromPolicyLink: removerule>), ('updatepolicy', <UpdatePolicyLink: updatepolicy>)])
PoliciesTable.base_columns = OrderedDict([('name', <Column: name>), ('description', <Column: description>), ('firewall_rules', <Column: firewall_rules>), ('shared', <Column: shared>), ('audited', <Column: audited>)])
class openstack_dashboard.dashboards.project.firewalls.tables.RemoveRouterFromFirewallLink(attrs=None, **kwargs)[source]

Bases: openstack_dashboard.policy.PolicyTargetMixin, horizon.tables.actions.LinkAction

allowed(request, firewall)[source]
base_options = {'__module__': 'openstack_dashboard.dashboards.project.firewalls.tables', 'render': <function render at 0x36a1050>, 'update': <function update at 0x369ec08>, 'policy_rules': (('network', 'get_firewall'), ('network', 'remove_router')), 'get_link_url': <function get_link_url at 0xd22ed70>, 'ajax': False, 'allowed': <function allowed at 0xd22ede8>, 'base_options': {'__module__': 'horizon.tables.actions', 'data_type_matched': <function data_type_matched at 0x369ea28>, 'get_default_classes': <function get_default_classes at 0x369ec80>, 'update': <function update at 0x369ec08>, 'get_policy_target': <function get_policy_target at 0x369eaa0>, 'associate_with_table': <function associate_with_table at 0x369ede8>, '_allowed': <function _allowed at 0x369eb90>, '__repr__': <function __repr__ at 0x369ed70>, 'allowed': <function allowed at 0x369eb18>, 'get_default_attrs': <function get_default_attrs at 0x369ecf8>, 'base_options': {...}, '__doc__': 'Common base class for all ``Action`` classes.', '__init__': <function __init__ at 0x369e9b0>}, 'get_default_attrs': <function get_default_attrs at 0x369ecf8>, '__init__': <function __init__ at 0x369eed8>, 'name': 'removerouter', 'data_type_matched': <function data_type_matched at 0x369ea28>, 'get_default_classes': <function get_default_classes at 0x369ec80>, 'get_policy_target': <function get_policy_target at 0x369eaa0>, 'associate_with_table': <function associate_with_table at 0x36a10c8>, '_allowed': <function _allowed at 0x369eb90>, 'classes': ('ajax-modal', 'btn-update'), '__repr__': <function __repr__ at 0x369ed70>, 'get_ajax_update_url': <function get_ajax_update_url at 0x369ef50>, 'verbose_name': <django.utils.functional.__proxy__ object at 0xd113d90>, '__doc__': 'A table action which is simply a link rather than a form POST.\n\n .. attribute:: name\n\n Required. The short name or "slug" representing this\n action. This name should not be changed at runtime.\n\n .. attribute:: verbose_name\n\n A string which will be rendered as the link text. (Required)\n\n .. attribute:: url\n\n A string or a callable which resolves to a url to be used as the link\n target. You must either define the ``url`` attribute or override\n the ``get_link_url`` method on the class.\n\n .. attribute:: allowed_data_types\n\n A list that contains the allowed data types of the action. If the\n datum\'s type is in this list, the action will be shown on the row\n for the datum.\n\n Defaults to be an empty list (``[]``). When set to empty, the action\n will accept any kind of data.\n '}
classes = ('ajax-modal', 'btn-update')
get_link_url(firewall)[source]
name = 'removerouter'
policy_rules = (('network', 'get_firewall'), ('network', 'remove_router'))
verbose_name = <django.utils.functional.__proxy__ object at 0xd113d90>
class openstack_dashboard.dashboards.project.firewalls.tables.RemoveRuleFromPolicyLink(attrs=None, **kwargs)[source]

Bases: openstack_dashboard.policy.PolicyTargetMixin, horizon.tables.actions.LinkAction

action_type = 'danger'
allowed(request, policy)[source]
base_options = {'__module__': 'openstack_dashboard.dashboards.project.firewalls.tables', 'render': <function render at 0x36a1050>, 'update': <function update at 0x369ec08>, 'policy_rules': (('network', 'get_firewall_policy'), ('network', 'remove_rule')), 'get_link_url': <function get_link_url at 0xd22eb90>, 'ajax': False, 'allowed': <function allowed at 0xd22ec08>, 'base_options': {'__module__': 'horizon.tables.actions', 'data_type_matched': <function data_type_matched at 0x369ea28>, 'get_default_classes': <function get_default_classes at 0x369ec80>, 'update': <function update at 0x369ec08>, 'get_policy_target': <function get_policy_target at 0x369eaa0>, 'associate_with_table': <function associate_with_table at 0x369ede8>, '_allowed': <function _allowed at 0x369eb90>, '__repr__': <function __repr__ at 0x369ed70>, 'allowed': <function allowed at 0x369eb18>, 'get_default_attrs': <function get_default_attrs at 0x369ecf8>, 'base_options': {...}, '__doc__': 'Common base class for all ``Action`` classes.', '__init__': <function __init__ at 0x369e9b0>}, 'get_default_attrs': <function get_default_attrs at 0x369ecf8>, '__init__': <function __init__ at 0x369eed8>, 'name': 'removerule', 'data_type_matched': <function data_type_matched at 0x369ea28>, 'get_default_classes': <function get_default_classes at 0x369ec80>, 'get_policy_target': <function get_policy_target at 0x369eaa0>, 'associate_with_table': <function associate_with_table at 0x36a10c8>, '_allowed': <function _allowed at 0x369eb90>, 'classes': ('ajax-modal',), '__repr__': <function __repr__ at 0x369ed70>, 'action_type': 'danger', 'get_ajax_update_url': <function get_ajax_update_url at 0x369ef50>, 'verbose_name': <django.utils.functional.__proxy__ object at 0xd113d50>, '__doc__': 'A table action which is simply a link rather than a form POST.\n\n .. attribute:: name\n\n Required. The short name or "slug" representing this\n action. This name should not be changed at runtime.\n\n .. attribute:: verbose_name\n\n A string which will be rendered as the link text. (Required)\n\n .. attribute:: url\n\n A string or a callable which resolves to a url to be used as the link\n target. You must either define the ``url`` attribute or override\n the ``get_link_url`` method on the class.\n\n .. attribute:: allowed_data_types\n\n A list that contains the allowed data types of the action. If the\n datum\'s type is in this list, the action will be shown on the row\n for the datum.\n\n Defaults to be an empty list (``[]``). When set to empty, the action\n will accept any kind of data.\n '}
classes = ('ajax-modal',)
get_link_url(policy)[source]
name = 'removerule'
policy_rules = (('network', 'get_firewall_policy'), ('network', 'remove_rule'))
verbose_name = <django.utils.functional.__proxy__ object at 0xd113d50>
class openstack_dashboard.dashboards.project.firewalls.tables.RulesTable(request, data=None, needs_form_wrapper=None, **kwargs)[source]

Bases: horizon.tables.base.DataTable

ACTION_DISPLAY_CHOICES = (('Allow', <django.utils.functional.__proxy__ object at 0xd113b90>), ('Deny', <django.utils.functional.__proxy__ object at 0xd113c50>), ('Reject', <django.utils.functional.__proxy__ object at 0xd113f90>))
class Meta[source]

Bases: object

name = 'rulestable'
row_actions = (<class 'openstack_dashboard.dashboards.project.firewalls.tables.UpdateRuleLink'>, <class 'openstack_dashboard.dashboards.project.firewalls.tables.DeleteRuleLink'>)
table_actions = (<class 'openstack_dashboard.dashboards.project.firewalls.tables.AddRuleLink'>, <class 'openstack_dashboard.dashboards.project.firewalls.tables.DeleteRuleLink'>, <class 'horizon.tables.actions.NameFilterAction'>)
verbose_name = <django.utils.functional.__proxy__ object at 0xd2369d0>
RulesTable.base_actions = OrderedDict([('addrule', <AddRuleLink: addrule>), ('deleterule', <DeleteRuleLink: deleterule>), ('filter', <NameFilterAction: filter>), ('updaterule', <UpdateRuleLink: updaterule>)])
RulesTable.base_columns = OrderedDict([('name', <Column: name>), ('description', <Column: description>), ('protocol', <Column: protocol>), ('source_ip_address', <Column: source_ip_address>), ('source_port', <Column: source_port>), ('destination_ip_address', <Column: destination_ip_address>), ('destination_port', <Column: destination_port>), ('action', <Column: action>), ('shared', <Column: shared>), ('enabled', <Column: enabled>), ('firewall_policy_id', <Column: firewall_policy_id>)])
class openstack_dashboard.dashboards.project.firewalls.tables.UpdateFirewallLink(attrs=None, **kwargs)[source]

Bases: openstack_dashboard.policy.PolicyTargetMixin, horizon.tables.actions.LinkAction

allowed(request, firewall)[source]
base_options = {'__module__': 'openstack_dashboard.dashboards.project.firewalls.tables', 'render': <function render at 0x36a1050>, 'update': <function update at 0x369ec08>, 'policy_rules': (('network', 'update_firewall'),), 'get_link_url': <function get_link_url at 0xd22ea28>, 'ajax': False, 'allowed': <function allowed at 0xd22eaa0>, 'base_options': {'__module__': 'horizon.tables.actions', 'data_type_matched': <function data_type_matched at 0x369ea28>, 'get_default_classes': <function get_default_classes at 0x369ec80>, 'update': <function update at 0x369ec08>, 'get_policy_target': <function get_policy_target at 0x369eaa0>, 'associate_with_table': <function associate_with_table at 0x369ede8>, '_allowed': <function _allowed at 0x369eb90>, '__repr__': <function __repr__ at 0x369ed70>, 'allowed': <function allowed at 0x369eb18>, 'get_default_attrs': <function get_default_attrs at 0x369ecf8>, 'base_options': {...}, '__doc__': 'Common base class for all ``Action`` classes.', '__init__': <function __init__ at 0x369e9b0>}, 'get_default_attrs': <function get_default_attrs at 0x369ecf8>, '__init__': <function __init__ at 0x369eed8>, 'name': 'updatefirewall', 'data_type_matched': <function data_type_matched at 0x369ea28>, 'get_default_classes': <function get_default_classes at 0x369ec80>, 'get_policy_target': <function get_policy_target at 0x369eaa0>, 'associate_with_table': <function associate_with_table at 0x36a10c8>, '_allowed': <function _allowed at 0x369eb90>, 'classes': ('ajax-modal', 'btn-update'), '__repr__': <function __repr__ at 0x369ed70>, 'get_ajax_update_url': <function get_ajax_update_url at 0x369ef50>, 'verbose_name': <django.utils.functional.__proxy__ object at 0xd113c90>, '__doc__': 'A table action which is simply a link rather than a form POST.\n\n .. attribute:: name\n\n Required. The short name or "slug" representing this\n action. This name should not be changed at runtime.\n\n .. attribute:: verbose_name\n\n A string which will be rendered as the link text. (Required)\n\n .. attribute:: url\n\n A string or a callable which resolves to a url to be used as the link\n target. You must either define the ``url`` attribute or override\n the ``get_link_url`` method on the class.\n\n .. attribute:: allowed_data_types\n\n A list that contains the allowed data types of the action. If the\n datum\'s type is in this list, the action will be shown on the row\n for the datum.\n\n Defaults to be an empty list (``[]``). When set to empty, the action\n will accept any kind of data.\n '}
classes = ('ajax-modal', 'btn-update')
get_link_url(firewall)[source]
name = 'updatefirewall'
policy_rules = (('network', 'update_firewall'),)
verbose_name = <django.utils.functional.__proxy__ object at 0xd113c90>
class openstack_dashboard.dashboards.project.firewalls.tables.UpdatePolicyLink(attrs=None, **kwargs)[source]

Bases: openstack_dashboard.policy.PolicyTargetMixin, horizon.tables.actions.LinkAction

base_options = {'__module__': 'openstack_dashboard.dashboards.project.firewalls.tables', 'render': <function render at 0x36a1050>, 'update': <function update at 0x369ec08>, 'policy_rules': (('network', 'update_firewall_policy'),), 'get_link_url': <function get_link_url at 0xd22e9b0>, 'ajax': False, 'allowed': <function allowed at 0x369eb18>, 'base_options': {'__module__': 'horizon.tables.actions', 'data_type_matched': <function data_type_matched at 0x369ea28>, 'get_default_classes': <function get_default_classes at 0x369ec80>, 'update': <function update at 0x369ec08>, 'get_policy_target': <function get_policy_target at 0x369eaa0>, 'associate_with_table': <function associate_with_table at 0x369ede8>, '_allowed': <function _allowed at 0x369eb90>, '__repr__': <function __repr__ at 0x369ed70>, 'allowed': <function allowed at 0x369eb18>, 'get_default_attrs': <function get_default_attrs at 0x369ecf8>, 'base_options': {...}, '__doc__': 'Common base class for all ``Action`` classes.', '__init__': <function __init__ at 0x369e9b0>}, 'get_default_attrs': <function get_default_attrs at 0x369ecf8>, '__init__': <function __init__ at 0x369eed8>, 'name': 'updatepolicy', 'data_type_matched': <function data_type_matched at 0x369ea28>, 'get_default_classes': <function get_default_classes at 0x369ec80>, 'get_policy_target': <function get_policy_target at 0x369eaa0>, 'associate_with_table': <function associate_with_table at 0x36a10c8>, '_allowed': <function _allowed at 0x369eb90>, 'classes': ('ajax-modal', 'btn-update'), '__repr__': <function __repr__ at 0x369ed70>, 'get_ajax_update_url': <function get_ajax_update_url at 0x369ef50>, 'verbose_name': <django.utils.functional.__proxy__ object at 0xd0e1250>, '__doc__': 'A table action which is simply a link rather than a form POST.\n\n .. attribute:: name\n\n Required. The short name or "slug" representing this\n action. This name should not be changed at runtime.\n\n .. attribute:: verbose_name\n\n A string which will be rendered as the link text. (Required)\n\n .. attribute:: url\n\n A string or a callable which resolves to a url to be used as the link\n target. You must either define the ``url`` attribute or override\n the ``get_link_url`` method on the class.\n\n .. attribute:: allowed_data_types\n\n A list that contains the allowed data types of the action. If the\n datum\'s type is in this list, the action will be shown on the row\n for the datum.\n\n Defaults to be an empty list (``[]``). When set to empty, the action\n will accept any kind of data.\n '}
classes = ('ajax-modal', 'btn-update')
get_link_url(policy)[source]
name = 'updatepolicy'
policy_rules = (('network', 'update_firewall_policy'),)
verbose_name = <django.utils.functional.__proxy__ object at 0xd0e1250>
class openstack_dashboard.dashboards.project.firewalls.tables.UpdateRuleLink(attrs=None, **kwargs)[source]

Bases: openstack_dashboard.policy.PolicyTargetMixin, horizon.tables.actions.LinkAction

base_options = {'__module__': 'openstack_dashboard.dashboards.project.firewalls.tables', 'render': <function render at 0x36a1050>, 'update': <function update at 0x369ec08>, 'policy_rules': (('network', 'update_firewall_rule'),), 'get_link_url': <function get_link_url at 0xd22e938>, 'ajax': False, 'allowed': <function allowed at 0x369eb18>, 'base_options': {'__module__': 'horizon.tables.actions', 'data_type_matched': <function data_type_matched at 0x369ea28>, 'get_default_classes': <function get_default_classes at 0x369ec80>, 'update': <function update at 0x369ec08>, 'get_policy_target': <function get_policy_target at 0x369eaa0>, 'associate_with_table': <function associate_with_table at 0x369ede8>, '_allowed': <function _allowed at 0x369eb90>, '__repr__': <function __repr__ at 0x369ed70>, 'allowed': <function allowed at 0x369eb18>, 'get_default_attrs': <function get_default_attrs at 0x369ecf8>, 'base_options': {...}, '__doc__': 'Common base class for all ``Action`` classes.', '__init__': <function __init__ at 0x369e9b0>}, 'get_default_attrs': <function get_default_attrs at 0x369ecf8>, '__init__': <function __init__ at 0x369eed8>, 'name': 'updaterule', 'data_type_matched': <function data_type_matched at 0x369ea28>, 'get_default_classes': <function get_default_classes at 0x369ec80>, 'get_policy_target': <function get_policy_target at 0x369eaa0>, 'associate_with_table': <function associate_with_table at 0x36a10c8>, '_allowed': <function _allowed at 0x369eb90>, 'classes': ('ajax-modal', 'btn-update'), '__repr__': <function __repr__ at 0x369ed70>, 'get_ajax_update_url': <function get_ajax_update_url at 0x369ef50>, 'verbose_name': <django.utils.functional.__proxy__ object at 0xd0e1ed0>, '__doc__': 'A table action which is simply a link rather than a form POST.\n\n .. attribute:: name\n\n Required. The short name or "slug" representing this\n action. This name should not be changed at runtime.\n\n .. attribute:: verbose_name\n\n A string which will be rendered as the link text. (Required)\n\n .. attribute:: url\n\n A string or a callable which resolves to a url to be used as the link\n target. You must either define the ``url`` attribute or override\n the ``get_link_url`` method on the class.\n\n .. attribute:: allowed_data_types\n\n A list that contains the allowed data types of the action. If the\n datum\'s type is in this list, the action will be shown on the row\n for the datum.\n\n Defaults to be an empty list (``[]``). When set to empty, the action\n will accept any kind of data.\n '}
classes = ('ajax-modal', 'btn-update')
get_link_url(rule)[source]
name = 'updaterule'
policy_rules = (('network', 'update_firewall_rule'),)
verbose_name = <django.utils.functional.__proxy__ object at 0xd0e1ed0>
openstack_dashboard.dashboards.project.firewalls.tables.get_policy_link(datum)[source]
openstack_dashboard.dashboards.project.firewalls.tables.get_policy_name(datum)[source]
openstack_dashboard.dashboards.project.firewalls.tables.get_routers_name(firewall)[source]
openstack_dashboard.dashboards.project.firewalls.tables.get_rules_name(datum)[source]

Previous topic

The openstack_dashboard.dashboards.project.firewalls.panel Module

Next topic

The openstack_dashboard.dashboards.project.firewalls.tabs Module

This Page