The openstack_dashboard.dashboards.identity.groups.tables ModuleΒΆ

class openstack_dashboard.dashboards.identity.groups.tables.AddMembers(**kwargs)[source]

Bases: horizon.tables.actions.BatchAction

AddMembers.action(request, obj_id)[source]
AddMembers.action_past = <django.utils.functional.__proxy__ object at 0xadf1790>
AddMembers.action_present = <django.utils.functional.__proxy__ object at 0xadf1050>
AddMembers.allowed(request, user=None)[source]
AddMembers.base_options = {'__module__': 'openstack_dashboard.dashboards.identity.groups.tables', 'data_type_singular': <django.utils.functional.__proxy__ object at 0xadeff90>, 'handle': <function handle at 0x53c9578>, 'requires_input': True, 'update': <function update at 0x53c9488>, 'policy_rules': (('identity', 'identity:add_user_to_group'),), 'get_success_url': <function get_success_url at 0xade7668>, 'get_policy_target': <function get_policy_target at 0x503f758>, 'allowed': <function allowed at 0xade7578>, 'base_options': {'__module__': 'horizon.tables.actions', 'data_type_matched': <function data_type_matched at 0x503f140>, 'get_default_classes': <function get_default_classes at 0x506f8c0>, 'update': <function update at 0x503f9b0>, 'get_policy_target': <function get_policy_target at 0x503f758>, 'associate_with_table': <function associate_with_table at 0x506fa28>, '_allowed': <function _allowed at 0x503fa28>, '__repr__': <function __repr__ at 0x506f9b0>, 'allowed': <function allowed at 0x503fb18>, 'get_default_attrs': <function get_default_attrs at 0x506f938>, 'base_options': {...}, '__doc__': 'Common base class for all ``Action`` classes.', '__init__': <function __init__ at 0x503f7d0>}, '__init__': <function __init__ at 0x53c92a8>, 'icon': 'plus', 'name': 'addMember', 'data_type_plural': <django.utils.functional.__proxy__ object at 0xadef090>, 'action_present': <django.utils.functional.__proxy__ object at 0xadf1050>, 'action_past': <django.utils.functional.__proxy__ object at 0xadf1790>, 'data_type_matched': <function data_type_matched at 0x503f140>, 'get_default_classes': <function get_default_classes at 0x506f8c0>, 'get_param_name': <function get_param_name at 0x506faa0>, 'associate_with_table': <function associate_with_table at 0x506fa28>, '_allowed': <function _allowed at 0x53c9320>, '_get_action_name': <function _get_action_name at 0x53c9398>, '__repr__': <function __repr__ at 0x506f9b0>, 'action': <function action at 0xade75f0>, 'success_url': 'horizon:identity:groups:manage_members', 'get_default_attrs': <function get_default_attrs at 0x506f938>, '__doc__': 'A table action which takes batch action on one or more\n objects. This action should not require user input on a\n per-object basis.\n\n .. attribute:: name\n\n An internal name for this action.\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 (PendingDeprecation)\n\n String or tuple/list. The display forms of the name.\n Should be a transitive verb, capitalized and translated. ("Delete",\n "Rotate", etc.) If tuple or list - then setting\n self.current_present_action = n will set the current active item\n from the list(action_present[n])\n\n You can pass a complete action name including \'data_type\' by specifying\n \'%(data_type)s\' substitution in action_present ("Delete %(data_type)s").\n Otherwise a complete action name is a format of "<action> <data_type>".\n <data_type> is determined based on the number of items.\n By passing a complete action name you allow translators to control\n the order of words as they want.\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 (PendingDeprecation)\n\n String or tuple/list. The past tense of action_present. ("Deleted",\n "Rotated", etc.) If tuple or list - then\n setting self.current_past_action = n will set the current active item\n from the list(action_past[n])\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\n\n Optional display name (if the data_type method is not defined) for the\n type of data that receives the action. ("Key Pair", "Floating IP", etc.)\n\n .. attribute:: data_type_plural\n\n Optional plural word (if the data_type method is not defined) for the\n type of data being acted on. Defaults to appending \'s\'. Relying on the\n default is bad for translations and should not be done, so it\'s absence\n will raise a DeprecationWarning. It is currently kept as optional for\n legacy code.\n\n NOTE: data_type_singular and data_type_plural attributes are bad for\n translations and should be avoided. Please use the action_present and\n action_past methods. This form is kept for legacy.\n\n .. attribute:: success_url\n\n Optional location to redirect after completion of the delete\n action. Defaults to the current page.\n '}
AddMembers.data_type_plural = <django.utils.functional.__proxy__ object at 0xadef090>
AddMembers.data_type_singular = <django.utils.functional.__proxy__ object at 0xadeff90>
AddMembers.get_success_url(request=None)[source]
AddMembers.icon = 'plus'
AddMembers.name = 'addMember'
AddMembers.policy_rules = (('identity', 'identity:add_user_to_group'),)
AddMembers.requires_input = True
AddMembers.success_url = 'horizon:identity:groups:manage_members'
class openstack_dashboard.dashboards.identity.groups.tables.AddMembersLink(attrs=None, **kwargs)[source]

Bases: horizon.tables.actions.LinkAction

AddMembersLink.allowed(request, user=None)[source]
AddMembersLink.base_options = {'__module__': 'openstack_dashboard.dashboards.identity.groups.tables', 'render': <function render at 0x506fc08>, 'update': <function update at 0x503f9b0>, 'policy_rules': (('identity', 'identity:list_users'), ('identity', 'identity:add_user_to_group')), 'get_link_url': <function get_link_url at 0xade7398>, 'ajax': False, 'allowed': <function allowed at 0xade7320>, 'base_options': {'__module__': 'horizon.tables.actions', 'data_type_matched': <function data_type_matched at 0x503f140>, 'get_default_classes': <function get_default_classes at 0x506f8c0>, 'update': <function update at 0x503f9b0>, 'get_policy_target': <function get_policy_target at 0x503f758>, 'associate_with_table': <function associate_with_table at 0x506fa28>, '_allowed': <function _allowed at 0x503fa28>, '__repr__': <function __repr__ at 0x506f9b0>, 'allowed': <function allowed at 0x503fb18>, 'get_default_attrs': <function get_default_attrs at 0x506f938>, 'base_options': {...}, '__doc__': 'Common base class for all ``Action`` classes.', '__init__': <function __init__ at 0x503f7d0>}, 'get_default_attrs': <function get_default_attrs at 0x506f938>, '__init__': <function __init__ at 0x506fb18>, 'icon': 'plus', 'name': 'add_user_link', 'url': 'horizon:identity:groups:add_members', 'data_type_matched': <function data_type_matched at 0x503f140>, 'get_default_classes': <function get_default_classes at 0x506f8c0>, 'get_policy_target': <function get_policy_target at 0x503f758>, 'associate_with_table': <function associate_with_table at 0x506fc80>, '_allowed': <function _allowed at 0x503fa28>, 'classes': ('ajax-modal',), '__repr__': <function __repr__ at 0x506f9b0>, 'get_ajax_update_url': <function get_ajax_update_url at 0x506fb90>, 'verbose_name': <django.utils.functional.__proxy__ object at 0xadf1d10>, '__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 '}
AddMembersLink.classes = ('ajax-modal',)
AddMembersLink.get_link_url(datum=None)[source]
AddMembersLink.icon = 'plus'
AddMembersLink.name = 'add_user_link'
AddMembersLink.policy_rules = (('identity', 'identity:list_users'), ('identity', 'identity:add_user_to_group'))
AddMembersLink.url = 'horizon:identity:groups:add_members'
AddMembersLink.verbose_name = <django.utils.functional.__proxy__ object at 0xadf1d10>
class openstack_dashboard.dashboards.identity.groups.tables.CreateGroupLink(attrs=None, **kwargs)[source]

Bases: horizon.tables.actions.LinkAction

CreateGroupLink.allowed(request, group)[source]
CreateGroupLink.base_options = {'__module__': 'openstack_dashboard.dashboards.identity.groups.tables', 'render': <function render at 0x506fc08>, 'update': <function update at 0x503f9b0>, 'policy_rules': (('identity', 'identity:create_group'),), 'get_link_url': <function get_link_url at 0x506fcf8>, 'ajax': False, 'allowed': <function allowed at 0xabb6500>, 'base_options': {'__module__': 'horizon.tables.actions', 'data_type_matched': <function data_type_matched at 0x503f140>, 'get_default_classes': <function get_default_classes at 0x506f8c0>, 'update': <function update at 0x503f9b0>, 'get_policy_target': <function get_policy_target at 0x503f758>, 'associate_with_table': <function associate_with_table at 0x506fa28>, '_allowed': <function _allowed at 0x503fa28>, '__repr__': <function __repr__ at 0x506f9b0>, 'allowed': <function allowed at 0x503fb18>, 'get_default_attrs': <function get_default_attrs at 0x506f938>, 'base_options': {...}, '__doc__': 'Common base class for all ``Action`` classes.', '__init__': <function __init__ at 0x503f7d0>}, 'get_default_attrs': <function get_default_attrs at 0x506f938>, '__init__': <function __init__ at 0x506fb18>, 'icon': 'plus', 'name': 'create', 'url': 'horizon:identity:groups:create', 'data_type_matched': <function data_type_matched at 0x503f140>, 'get_default_classes': <function get_default_classes at 0x506f8c0>, 'get_policy_target': <function get_policy_target at 0x503f758>, 'associate_with_table': <function associate_with_table at 0x506fc80>, '_allowed': <function _allowed at 0x503fa28>, 'classes': ('ajax-modal',), '__repr__': <function __repr__ at 0x506f9b0>, 'get_ajax_update_url': <function get_ajax_update_url at 0x506fb90>, 'verbose_name': <django.utils.functional.__proxy__ object at 0xadf5c90>, '__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 '}
CreateGroupLink.classes = ('ajax-modal',)
CreateGroupLink.icon = 'plus'
CreateGroupLink.name = 'create'
CreateGroupLink.policy_rules = (('identity', 'identity:create_group'),)
CreateGroupLink.url = 'horizon:identity:groups:create'
CreateGroupLink.verbose_name = <django.utils.functional.__proxy__ object at 0xadf5c90>
class openstack_dashboard.dashboards.identity.groups.tables.DeleteGroupsAction(**kwargs)[source]

Bases: horizon.tables.actions.DeleteAction

DeleteGroupsAction.allowed(request, datum)[source]
DeleteGroupsAction.base_options = {'__module__': 'openstack_dashboard.dashboards.identity.groups.tables', 'handle': <function handle at 0x53c9578>, 'data_type_singular': <django.utils.functional.__proxy__ object at 0xadfec50>, 'update': <function update at 0x53c9488>, 'policy_rules': (('identity', 'identity:delete_group'),), 'get_success_url': <function get_success_url at 0x53c9500>, 'get_param_name': <function get_param_name at 0x506faa0>, 'allowed': <function allowed at 0xacbd9b0>, 'base_options': {'__module__': 'horizon.tables.actions', 'data_type_matched': <function data_type_matched at 0x503f140>, 'get_default_classes': <function get_default_classes at 0x506f8c0>, 'update': <function update at 0x503f9b0>, 'get_policy_target': <function get_policy_target at 0x503f758>, 'associate_with_table': <function associate_with_table at 0x506fa28>, '_allowed': <function _allowed at 0x503fa28>, '__repr__': <function __repr__ at 0x506f9b0>, 'allowed': <function allowed at 0x503fb18>, 'get_default_attrs': <function get_default_attrs at 0x506f938>, 'base_options': {...}, '__doc__': 'Common base class for all ``Action`` classes.', '__init__': <function __init__ at 0x503f7d0>}, '__init__': <function __init__ at 0x53c95f0>, 'name': 'delete', 'data_type_plural': <django.utils.functional.__proxy__ object at 0xadf5cd0>, 'data_type_matched': <function data_type_matched at 0x503f140>, 'get_default_classes': <function get_default_classes at 0x53c9758>, 'get_policy_target': <function get_policy_target at 0x503f758>, 'associate_with_table': <function associate_with_table at 0x506fa28>, '_allowed': <function _allowed at 0x53c9320>, '_get_action_name': <function _get_action_name at 0x53c9398>, '__repr__': <function __repr__ at 0x506f9b0>, 'action': <function action at 0x53c9668>, 'get_default_attrs': <function get_default_attrs at 0x506f938>, '__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 (PendingDeprecation)\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 (PendingDeprecation)\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 (PendingDeprecation)\n\n A string used to name the data to be deleted.\n\n .. attribute:: data_type_plural (PendingDeprecation)\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 be avoided. Please use the action_present and\n action_past methods. This form is kept for legacy.\n ', 'delete': <function delete at 0xacbded8>}
DeleteGroupsAction.data_type_plural = <django.utils.functional.__proxy__ object at 0xadf5cd0>
DeleteGroupsAction.data_type_singular = <django.utils.functional.__proxy__ object at 0xadfec50>
DeleteGroupsAction.delete(request, obj_id)[source]
DeleteGroupsAction.name = 'delete'
DeleteGroupsAction.policy_rules = (('identity', 'identity:delete_group'),)
class openstack_dashboard.dashboards.identity.groups.tables.EditGroupLink(attrs=None, **kwargs)[source]

Bases: horizon.tables.actions.LinkAction

EditGroupLink.allowed(request, group)[source]
EditGroupLink.base_options = {'__module__': 'openstack_dashboard.dashboards.identity.groups.tables', 'render': <function render at 0x506fc08>, 'update': <function update at 0x503f9b0>, 'policy_rules': (('identity', 'identity:update_group'),), 'get_link_url': <function get_link_url at 0x506fcf8>, 'ajax': False, 'allowed': <function allowed at 0xabb6140>, 'base_options': {'__module__': 'horizon.tables.actions', 'data_type_matched': <function data_type_matched at 0x503f140>, 'get_default_classes': <function get_default_classes at 0x506f8c0>, 'update': <function update at 0x503f9b0>, 'get_policy_target': <function get_policy_target at 0x503f758>, 'associate_with_table': <function associate_with_table at 0x506fa28>, '_allowed': <function _allowed at 0x503fa28>, '__repr__': <function __repr__ at 0x506f9b0>, 'allowed': <function allowed at 0x503fb18>, 'get_default_attrs': <function get_default_attrs at 0x506f938>, 'base_options': {...}, '__doc__': 'Common base class for all ``Action`` classes.', '__init__': <function __init__ at 0x503f7d0>}, 'get_default_attrs': <function get_default_attrs at 0x506f938>, '__init__': <function __init__ at 0x506fb18>, 'icon': 'pencil', 'name': 'edit', 'url': 'horizon:identity:groups:update', 'data_type_matched': <function data_type_matched at 0x503f140>, 'get_default_classes': <function get_default_classes at 0x506f8c0>, 'get_policy_target': <function get_policy_target at 0x503f758>, 'associate_with_table': <function associate_with_table at 0x506fc80>, '_allowed': <function _allowed at 0x503fa28>, 'classes': ('ajax-modal',), '__repr__': <function __repr__ at 0x506f9b0>, 'get_ajax_update_url': <function get_ajax_update_url at 0x506fb90>, 'verbose_name': <django.utils.functional.__proxy__ object at 0xa2fd810>, '__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 '}
EditGroupLink.classes = ('ajax-modal',)
EditGroupLink.icon = 'pencil'
EditGroupLink.name = 'edit'
EditGroupLink.policy_rules = (('identity', 'identity:update_group'),)
EditGroupLink.url = 'horizon:identity:groups:update'
EditGroupLink.verbose_name = <django.utils.functional.__proxy__ object at 0xa2fd810>
class openstack_dashboard.dashboards.identity.groups.tables.GroupFilterAction(**kwargs)[source]

Bases: horizon.tables.actions.FilterAction

GroupFilterAction.base_options = {'__module__': 'openstack_dashboard.dashboards.identity.groups.tables', 'is_api_filter': <function is_api_filter at 0x53c9050>, 'update': <function update at 0x503f9b0>, 'get_policy_target': <function get_policy_target at 0x503f758>, 'allowed': <function allowed at 0x503fb18>, 'base_options': {'__module__': 'horizon.tables.actions', 'data_type_matched': <function data_type_matched at 0x503f140>, 'get_default_classes': <function get_default_classes at 0x506f8c0>, 'update': <function update at 0x503f9b0>, 'get_policy_target': <function get_policy_target at 0x503f758>, 'associate_with_table': <function associate_with_table at 0x506fa28>, '_allowed': <function _allowed at 0x503fa28>, '__repr__': <function __repr__ at 0x506f9b0>, 'allowed': <function allowed at 0x503fb18>, 'get_default_attrs': <function get_default_attrs at 0x506f938>, 'base_options': {...}, '__doc__': 'Common base class for all ``Action`` classes.', '__init__': <function __init__ at 0x503f7d0>}, '__init__': <function __init__ at 0x506fd70>, 'filter': <function filter at 0xacbd7d0>, 'name': 'filter', 'data_type_matched': <function data_type_matched at 0x503f140>, 'get_default_classes': <function get_default_classes at 0x506f8c0>, 'get_param_name': <function get_param_name at 0x506fde8>, '__doc__': 'A base class representing a filter action for a table.\n\n .. attribute:: name\n\n The short name or "slug" representing this action. Defaults to\n ``"filter"``.\n\n .. attribute:: verbose_name\n\n A descriptive name used for display purposes. Defaults to the\n value of ``name`` with the first letter of each word capitalized.\n\n .. attribute:: param_name\n\n A string representing the name of the request parameter used for the\n search term. Default: ``"q"``.\n\n .. attribute: filter_type\n\n A string representing the type of this filter. If this is set to\n ``"server"`` then ``filter_choices`` must also be provided.\n Default: ``"query"``.\n\n .. attribute: filter_choices\n\n Required for server type filters. A tuple of tuples representing the\n filter options. Tuple composition should evaluate to (string, string,\n boolean), representing the filter parameter, display value, and whether\n or not it should be applied to the API request as an API query\n attribute. API type filters do not need to be accounted for in the\n filter method since the API will do the filtering. However, server\n type filters in general will need to be performed in the filter method.\n By default this attribute is not provided.\n\n .. attribute: needs_preloading\n\n If True, the filter function will be called for the initial\n GET request with an empty ``filter_string``, regardless of the\n value of ``method``.\n ', 'data_type_filter': <function data_type_filter at 0x506fed8>, '_allowed': <function _allowed at 0x503fa28>, '__repr__': <function __repr__ at 0x506f9b0>, 'get_default_attrs': <function get_default_attrs at 0x506f938>, 'assign_type_string': <function assign_type_string at 0x506fe60>, 'associate_with_table': <function associate_with_table at 0x506fa28>}
GroupFilterAction.filter(table, groups, filter_string)[source]

Naive case-insensitive search.

class openstack_dashboard.dashboards.identity.groups.tables.GroupMembersTable(request, data=None, needs_form_wrapper=None, **kwargs)[source]

Bases: openstack_dashboard.dashboards.identity.groups.tables.UsersTable

class GroupMembersTable.Meta[source]
GroupMembersTable.Meta.name = 'group_members'
GroupMembersTable.Meta.table_actions = (<class 'openstack_dashboard.dashboards.identity.groups.tables.UserFilterAction'>, <class 'openstack_dashboard.dashboards.identity.groups.tables.AddMembersLink'>, <class 'openstack_dashboard.dashboards.identity.groups.tables.RemoveMembers'>)
GroupMembersTable.Meta.verbose_name = <django.utils.functional.__proxy__ object at 0xadf1850>
GroupMembersTable.base_actions = {'add_user_link': <AddMembersLink: add_user_link>, 'filter': <UserFilterAction: filter>, 'removeGroupMember': <RemoveMembers: removeGroupMember>}
GroupMembersTable.base_columns = {'name': <Column: name>, 'email': <Column: email>, 'id': <Column: id>, 'enabled': <Column: enabled>}
class openstack_dashboard.dashboards.identity.groups.tables.GroupNonMembersTable(request, data=None, needs_form_wrapper=None, **kwargs)[source]

Bases: openstack_dashboard.dashboards.identity.groups.tables.UsersTable

class GroupNonMembersTable.Meta[source]
GroupNonMembersTable.Meta.name = 'group_non_members'
GroupNonMembersTable.Meta.table_actions = (<class 'openstack_dashboard.dashboards.identity.groups.tables.UserFilterAction'>, <class 'openstack_dashboard.dashboards.identity.groups.tables.AddMembers'>)
GroupNonMembersTable.Meta.verbose_name = <django.utils.functional.__proxy__ object at 0xadeff10>
GroupNonMembersTable.base_actions = {'addMember': <AddMembers: addMember>, 'filter': <UserFilterAction: filter>}
GroupNonMembersTable.base_columns = {'name': <Column: name>, 'email': <Column: email>, 'id': <Column: id>, 'enabled': <Column: enabled>}
class openstack_dashboard.dashboards.identity.groups.tables.GroupsTable(request, data=None, needs_form_wrapper=None, **kwargs)[source]

Bases: horizon.tables.base.DataTable

class GroupsTable.Meta[source]
GroupsTable.Meta.name = 'groups'
GroupsTable.Meta.row_actions = (<class 'openstack_dashboard.dashboards.identity.groups.tables.ManageUsersLink'>, <class 'openstack_dashboard.dashboards.identity.groups.tables.EditGroupLink'>, <class 'openstack_dashboard.dashboards.identity.groups.tables.DeleteGroupsAction'>)
GroupsTable.Meta.table_actions = (<class 'openstack_dashboard.dashboards.identity.groups.tables.GroupFilterAction'>, <class 'openstack_dashboard.dashboards.identity.groups.tables.CreateGroupLink'>, <class 'openstack_dashboard.dashboards.identity.groups.tables.DeleteGroupsAction'>)
GroupsTable.Meta.verbose_name = <django.utils.functional.__proxy__ object at 0xadf5c50>
GroupsTable.base_actions = {'create': <CreateGroupLink: create>, 'delete': <DeleteGroupsAction: delete>, 'edit': <EditGroupLink: edit>, 'filter': <GroupFilterAction: filter>, 'users': <ManageUsersLink: users>}
GroupsTable.base_columns = {'name': <Column: name>, 'description': <Column: description>, 'id': <Column: id>}
class openstack_dashboard.dashboards.identity.groups.tables.ManageUsersLink(attrs=None, **kwargs)[source]

Bases: horizon.tables.actions.LinkAction

ManageUsersLink.allowed(request, datum)[source]
ManageUsersLink.base_options = {'__module__': 'openstack_dashboard.dashboards.identity.groups.tables', 'render': <function render at 0x506fc08>, 'update': <function update at 0x503f9b0>, 'policy_rules': (('identity', 'identity:get_group'), ('identity', 'identity:list_users')), 'get_link_url': <function get_link_url at 0x506fcf8>, 'ajax': False, 'allowed': <function allowed at 0xacbd848>, 'base_options': {'__module__': 'horizon.tables.actions', 'data_type_matched': <function data_type_matched at 0x503f140>, 'get_default_classes': <function get_default_classes at 0x506f8c0>, 'update': <function update at 0x503f9b0>, 'get_policy_target': <function get_policy_target at 0x503f758>, 'associate_with_table': <function associate_with_table at 0x506fa28>, '_allowed': <function _allowed at 0x503fa28>, '__repr__': <function __repr__ at 0x506f9b0>, 'allowed': <function allowed at 0x503fb18>, 'get_default_attrs': <function get_default_attrs at 0x506f938>, 'base_options': {...}, '__doc__': 'Common base class for all ``Action`` classes.', '__init__': <function __init__ at 0x503f7d0>}, 'get_default_attrs': <function get_default_attrs at 0x506f938>, '__init__': <function __init__ at 0x506fb18>, 'icon': 'pencil', 'name': 'users', 'url': 'horizon:identity:groups:manage_members', 'data_type_matched': <function data_type_matched at 0x503f140>, 'get_default_classes': <function get_default_classes at 0x506f8c0>, 'get_policy_target': <function get_policy_target at 0x503f758>, 'associate_with_table': <function associate_with_table at 0x506fc80>, '_allowed': <function _allowed at 0x503fa28>, '__repr__': <function __repr__ at 0x506f9b0>, 'get_ajax_update_url': <function get_ajax_update_url at 0x506fb90>, 'verbose_name': <django.utils.functional.__proxy__ object at 0xadf5d10>, '__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 '}
ManageUsersLink.icon = 'pencil'
ManageUsersLink.name = 'users'
ManageUsersLink.policy_rules = (('identity', 'identity:get_group'), ('identity', 'identity:list_users'))
ManageUsersLink.url = 'horizon:identity:groups:manage_members'
ManageUsersLink.verbose_name = <django.utils.functional.__proxy__ object at 0xadf5d10>
class openstack_dashboard.dashboards.identity.groups.tables.RemoveMembers(**kwargs)[source]

Bases: horizon.tables.actions.DeleteAction

RemoveMembers.action(request, obj_id)[source]
RemoveMembers.action_past = <django.utils.functional.__proxy__ object at 0xadf59d0>
RemoveMembers.action_present = <django.utils.functional.__proxy__ object at 0xadf58d0>
RemoveMembers.allowed(request, user=None)[source]
RemoveMembers.base_options = {'__module__': 'openstack_dashboard.dashboards.identity.groups.tables', 'handle': <function handle at 0x53c9578>, 'data_type_singular': <django.utils.functional.__proxy__ object at 0xadf5ad0>, 'update': <function update at 0x53c9488>, 'policy_rules': (('identity', 'identity:remove_user_from_group'),), 'get_success_url': <function get_success_url at 0x53c9500>, 'get_param_name': <function get_param_name at 0x506faa0>, 'allowed': <function allowed at 0xade7230>, 'base_options': {'__module__': 'horizon.tables.actions', 'data_type_matched': <function data_type_matched at 0x503f140>, 'get_default_classes': <function get_default_classes at 0x506f8c0>, 'update': <function update at 0x503f9b0>, 'get_policy_target': <function get_policy_target at 0x503f758>, 'associate_with_table': <function associate_with_table at 0x506fa28>, '_allowed': <function _allowed at 0x503fa28>, '__repr__': <function __repr__ at 0x506f9b0>, 'allowed': <function allowed at 0x503fb18>, 'get_default_attrs': <function get_default_attrs at 0x506f938>, 'base_options': {...}, '__doc__': 'Common base class for all ``Action`` classes.', '__init__': <function __init__ at 0x503f7d0>}, '__init__': <function __init__ at 0x53c95f0>, 'name': 'removeGroupMember', 'data_type_plural': <django.utils.functional.__proxy__ object at 0xadf1d90>, 'action_present': <django.utils.functional.__proxy__ object at 0xadf58d0>, 'action_past': <django.utils.functional.__proxy__ object at 0xadf59d0>, 'data_type_matched': <function data_type_matched at 0x503f140>, 'get_default_classes': <function get_default_classes at 0x53c9758>, 'get_policy_target': <function get_policy_target at 0x503f758>, 'associate_with_table': <function associate_with_table at 0x506fa28>, '_allowed': <function _allowed at 0x53c9320>, '_get_action_name': <function _get_action_name at 0x53c9398>, '__repr__': <function __repr__ at 0x506f9b0>, 'action': <function action at 0xade72a8>, 'get_default_attrs': <function get_default_attrs at 0x506f938>, '__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 (PendingDeprecation)\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 (PendingDeprecation)\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 (PendingDeprecation)\n\n A string used to name the data to be deleted.\n\n .. attribute:: data_type_plural (PendingDeprecation)\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 be avoided. Please use the action_present and\n action_past methods. This form is kept for legacy.\n ', 'delete': <function delete at 0x53c96e0>}
RemoveMembers.data_type_plural = <django.utils.functional.__proxy__ object at 0xadf1d90>
RemoveMembers.data_type_singular = <django.utils.functional.__proxy__ object at 0xadf5ad0>
RemoveMembers.name = 'removeGroupMember'
RemoveMembers.policy_rules = (('identity', 'identity:remove_user_from_group'),)
class openstack_dashboard.dashboards.identity.groups.tables.UserFilterAction(**kwargs)[source]

Bases: horizon.tables.actions.FilterAction

UserFilterAction.base_options = {'__module__': 'openstack_dashboard.dashboards.identity.groups.tables', 'is_api_filter': <function is_api_filter at 0x53c9050>, 'update': <function update at 0x503f9b0>, 'get_policy_target': <function get_policy_target at 0x503f758>, 'allowed': <function allowed at 0x503fb18>, 'base_options': {'__module__': 'horizon.tables.actions', 'data_type_matched': <function data_type_matched at 0x503f140>, 'get_default_classes': <function get_default_classes at 0x506f8c0>, 'update': <function update at 0x503f9b0>, 'get_policy_target': <function get_policy_target at 0x503f758>, 'associate_with_table': <function associate_with_table at 0x506fa28>, '_allowed': <function _allowed at 0x503fa28>, '__repr__': <function __repr__ at 0x506f9b0>, 'allowed': <function allowed at 0x503fb18>, 'get_default_attrs': <function get_default_attrs at 0x506f938>, 'base_options': {...}, '__doc__': 'Common base class for all ``Action`` classes.', '__init__': <function __init__ at 0x503f7d0>}, '__init__': <function __init__ at 0x506fd70>, 'filter': <function filter at 0xade71b8>, 'name': 'filter', 'data_type_matched': <function data_type_matched at 0x503f140>, 'get_default_classes': <function get_default_classes at 0x506f8c0>, 'get_param_name': <function get_param_name at 0x506fde8>, '__doc__': 'A base class representing a filter action for a table.\n\n .. attribute:: name\n\n The short name or "slug" representing this action. Defaults to\n ``"filter"``.\n\n .. attribute:: verbose_name\n\n A descriptive name used for display purposes. Defaults to the\n value of ``name`` with the first letter of each word capitalized.\n\n .. attribute:: param_name\n\n A string representing the name of the request parameter used for the\n search term. Default: ``"q"``.\n\n .. attribute: filter_type\n\n A string representing the type of this filter. If this is set to\n ``"server"`` then ``filter_choices`` must also be provided.\n Default: ``"query"``.\n\n .. attribute: filter_choices\n\n Required for server type filters. A tuple of tuples representing the\n filter options. Tuple composition should evaluate to (string, string,\n boolean), representing the filter parameter, display value, and whether\n or not it should be applied to the API request as an API query\n attribute. API type filters do not need to be accounted for in the\n filter method since the API will do the filtering. However, server\n type filters in general will need to be performed in the filter method.\n By default this attribute is not provided.\n\n .. attribute: needs_preloading\n\n If True, the filter function will be called for the initial\n GET request with an empty ``filter_string``, regardless of the\n value of ``method``.\n ', 'data_type_filter': <function data_type_filter at 0x506fed8>, '_allowed': <function _allowed at 0x503fa28>, '__repr__': <function __repr__ at 0x506f9b0>, 'get_default_attrs': <function get_default_attrs at 0x506f938>, 'assign_type_string': <function assign_type_string at 0x506fe60>, 'associate_with_table': <function associate_with_table at 0x506fa28>}
UserFilterAction.filter(table, users, filter_string)[source]

Naive case-insensitive search.

class openstack_dashboard.dashboards.identity.groups.tables.UsersTable(request, data=None, needs_form_wrapper=None, **kwargs)[source]

Bases: horizon.tables.base.DataTable

UsersTable.base_actions = {}
UsersTable.base_columns = {'name': <Column: name>, 'email': <Column: email>, 'id': <Column: id>, 'enabled': <Column: enabled>}

Previous topic

The openstack_dashboard.dashboards.identity.projects.workflows Module

Next topic

The openstack_dashboard.dashboards.identity.groups.tests Module

This Page