#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: horizon 24.1.0.dev46\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-06-07 20:45+0000\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#: ../../../docstring of openstack_auth.utils.LOG:5
msgid ""
"Calling \"patch_middleware_get_user\" is done in our custom middleware at "
"\"openstack_auth.middleware\" to monkeypatch the code in before it is needed."
""
msgstr ""
#: ../../../docstring of openstack_auth.utils.LOG:1
msgid ""
"We need the request object to get the user, so we'll slightly modify the "
"existing django.contrib.auth.get_user method. To do so we update the auth "
"middleware to point to our overridden method."
msgstr ""
#: ../../../horizon/base.py:docstring horizon.base.Panel:1 of
msgid "A base class for defining Horizon dashboard panels."
msgstr ""
#: ../../../horizon/base.py:docstring horizon.base.Dashboard:1 of
msgid "A base class for defining Horizon dashboards."
msgstr ""
#: ../../../horizon/base.py:docstring horizon.base.PanelGroup:1 of
msgid "A container for a set of :class:`~horizon.Panel` classes."
msgstr ""
#: ../../../horizon/base.py:docstring horizon.base.PanelGroup:17 of
msgid ""
"A list of panel module names which should be contained within this grouping."
msgstr ""
#: ../../../horizon/base.py:docstring horizon.base.Dashboard:60 of
msgid ""
"A list of permission names, all of which a user must possess in order to "
"access any panel registered with this dashboard. This attribute is combined "
"cumulatively with any permissions required on individual :class:`~horizon."
"Panel` classes."
msgstr ""
#: ../../../horizon/base.py:docstring horizon.base.Panel:20 of
msgid ""
"A list of permission names, all of which a user must possess in order to "
"access any view associated with this panel. This attribute is combined "
"cumulatively with any permissions required on the ``Dashboard`` class with "
"which it is registered."
msgstr ""
#: ../../../horizon/base.py:docstring horizon.base.Dashboard:16 of
msgid ""
"A unique \"short name\" for the dashboard. The slug is used as a component "
"of the URL path for the dashboard. Default: ``''``."
msgstr ""
#: ../../../horizon/base.py:docstring horizon.base.Panel:15 of
msgid ""
"A unique \"short name\" for the panel. The slug is used as a component of "
"the URL path for the panel. Default: ``''``."
msgstr ""
#: ../../../horizon/base.py:docstring horizon.base.PanelGroup:8 of
msgid "A unique string to identify this panel group. Required."
msgstr ""
#: ../../../horizon/base.py:docstring horizon.base.PanelGroup:12 of
msgid ""
"A user-friendly name which will be used as the group heading in places such "
"as the navigation. Default: ``None``."
msgstr ""
#: ../../../horizon/base.py:docstring horizon.base.Panel:3 of
msgid ""
"All Horizon dashboard panels should extend from this class. It provides the "
"appropriate hooks for automatically constructing URLconfs, and providing "
"permission-based access control."
msgstr ""
#: ../../../horizon/base.py:docstring horizon.base.Dashboard:3 of
msgid ""
"All Horizon dashboards should extend from this base class. It provides the "
"appropriate hooks for automatic discovery of :class:`~horizon.Panel` "
"modules, automatically constructing URLconfs, and providing permission-based "
"access control."
msgstr ""
#: ../../../horizon/base.py:docstring horizon.base.Site.get_user_home:7 of
msgid ""
"An alternative function can be supplied to customize this behavior by "
"specifying a either a URL or a function which returns a URL via the "
"``\"user_home\"`` key in ``HORIZON_CONFIG``. Each of these would be valid::"
msgstr ""
#: ../../../horizon/base.py:docstring horizon.base.Site.get_dashboards:7 of
msgid ""
"Any remaining :class:`~horizon.Dashboard` classes registered with Horizon "
"but not listed in ``HORIZON_CONFIG['dashboards']`` will be appended to the "
"end of the list alphabetically."
msgstr ""
#: ../../../horizon/base.py:docstring horizon.base.Dashboard:34 of
msgid ""
"Automatically generated navigation will use the order of the modules in this "
"attribute."
msgstr ""
#: ../../../horizon/base.py:docstring horizon.base.Dashboard:79 of
msgid ""
"Boolean value to determine whether this dashboard can be viewed without "
"being logged in. Defaults to ``False``."
msgstr ""
#: ../../../horizon/base.py:docstring horizon.base.Dashboard.allowed:3 of
msgid ""
"Checks for access to any panels in the dashboard and of the dashboard itself."
""
msgstr ""
#: ../../../horizon/base.py:docstring horizon.base.Dashboard.allowed:1 of
msgid "Checks for role based access for this dashboard."
msgstr ""
#: ../../../horizon/base.py:docstring horizon.base.Dashboard:37 of
msgid "Default: ``[]``."
msgstr ""
#: ../../../horizon/base.py:docstring horizon.base.Site.get_default_dashboard:3
#: of
msgid ""
"If ``\"default_dashboard\"`` is specified in ``HORIZON_CONFIG`` then that "
"dashboard will be returned. If not, the first dashboard returned by :func:"
"`~horizon.get_dashboards` will be returned."
msgstr ""
#: ../../../horizon/base.py:docstring horizon.base.Dashboard:67 of
msgid ""
"Optional path to a URLconf of additional views for this dashboard which are "
"not connected to specific panels. Default: ``None``."
msgstr ""
#: ../../../horizon/base.py:docstring horizon.base.Site.get_dashboards:3 of
msgid ""
"Orders dashboards according to the ``\"dashboards\"`` key in "
"``HORIZON_CONFIG`` or else returns all registered dashboards in alphabetical "
"order."
msgstr ""
#: ../../../horizon/base.py:docstring horizon.base.Dashboard.get_panels:3 of
msgid "Panel grouping information is not included."
msgstr ""
#: ../../../horizon/base.py:docstring horizon.base.Dashboard:48 of
msgid ""
"Panel modules must be listed in ``panels`` in order to be discovered by the "
"automatic registration mechanism."
msgstr ""
#: ../../../horizon/base.py:docstring horizon.base.Panel:27 of
msgid ""
"Path to a URLconf of views for this panel using dotted Python notation. If "
"no value is specified, a file called ``urls.py`` living in the same package "
"as the ``panel.py`` file is used. Default: ``None``."
msgstr ""
#: ../../../horizon/base.py:docstring horizon.base.Site.register:1 of
msgid "Registers a :class:`~horizon.Dashboard` with Horizon."
msgstr ""
#: ../../../horizon/base.py:docstring horizon.base.Dashboard.register:1 of
msgid "Registers a :class:`~horizon.Panel` with this dashboard."
msgstr ""
#: ../../../horizon/base.py:docstring horizon.base.Dashboard.get_panel_group:3
#: of
msgid "Returns None if not registered."
msgstr ""
#: ../../../horizon/base.py:docstring horizon.base.Site.get_dashboards:1 of
msgid "Returns an ordered tuple of :class:`~horizon.Dashboard` modules."
msgstr ""
#: ../../../horizon/base.py:docstring horizon.base.Dashboard.get_panel:1 of
msgid "Returns the Panel instance registered with this dashboard."
msgstr ""
#: ../../../horizon/base.py:docstring horizon.base.Dashboard.get_panels:1 of
msgid "Returns the Panel instances registered with this dashboard in order."
msgstr ""
#: ../../../horizon/base.py:docstring horizon.base.Site.get_default_dashboard:1
#: of
msgid "Returns the default :class:`~horizon.Dashboard` instance."
msgstr ""
#: ../../../horizon/base.py:docstring horizon.base.Site.get_absolute_url:1 of
msgid "Returns the default URL for Horizon's URLconf."
msgstr ""
#: ../../../horizon/base.py:docstring horizon.base.Site.get_user_home:1 of
msgid "Returns the default URL for a particular user."
msgstr ""
#: ../../../horizon/base.py:docstring horizon.base.Dashboard.get_absolute_url:1
#: of
msgid "Returns the default URL for this dashboard."
msgstr ""
#: ../../../horizon/base.py:docstring horizon.base.Panel.get_absolute_url:1 of
msgid "Returns the default URL for this panel."
msgstr ""
#: ../../../horizon/base.py:docstring horizon.base.Site.get_dashboard:1 of
msgid "Returns the specified :class:`~horizon.Dashboard` instance."
msgstr ""
#: ../../../horizon/base.py:docstring horizon.base.Dashboard.get_panel_group:1
#: of
msgid "Returns the specified :class:~horizon.PanelGroup."
msgstr ""
#: ../../../horizon/base.py:docstring horizon.base.Panel:41 of
msgid ""
"The ``name`` argument for the URL pattern which corresponds to the index "
"view for this ``Panel``. This is the view that :meth:`.Panel."
"get_absolute_url` will attempt to reverse."
msgstr ""
#: ../../../horizon/base.py:docstring horizon.base.Dashboard:72 of
msgid ""
"The ``nav`` attribute can be either a boolean value or a callable which "
"accepts a ``RequestContext`` object as a single argument to control whether "
"or not this dashboard should appear in automatically-generated navigation. "
"Default: ``True``."
msgstr ""
#: ../../../horizon/base.py:docstring horizon.base.Panel:34 of
msgid ""
"The ``nav`` attribute can be either a boolean value or a callable which "
"accepts a ``RequestContext`` object as a single argument to control whether "
"or not this panel should appear in automatically-generated navigation. "
"Default: ``True``."
msgstr ""
#: ../../../horizon/base.py:docstring horizon.base.Dashboard:21 of
msgid ""
"The ``panels`` attribute can be either a flat list containing the name of "
"each panel **module** which should be loaded as part of this dashboard, or "
"a list of :class:`~horizon.PanelGroup` classes which define groups of panels "
"as in the following example::"
msgstr ""
#: ../../../horizon/base.py:docstring horizon.base.Dashboard.get_absolute_url:3
#: of
msgid ""
"The default URL is defined as the URL pattern with ``name=\"index\"`` in the "
"URLconf for the :class:`~horizon.Panel` specified by :attr:`~horizon."
"Dashboard.default_panel`."
msgstr ""
#: ../../../horizon/base.py:docstring horizon.base.Panel.get_absolute_url:3 of
msgid ""
"The default URL is defined as the URL pattern with ``name=\"index\"`` in the "
"URLconf for this panel."
msgstr ""
#: ../../../horizon/base.py:docstring horizon.base.Site.get_absolute_url:3 of
msgid ""
"The default URL is determined by calling :meth:`~horizon.Dashboard."
"get_absolute_url` on the :class:`~horizon.Dashboard` instance returned by :"
"meth:`~horizon.get_default_dashboard`."
msgstr ""
#: ../../../horizon/base.py:docstring horizon.base.Dashboard:10 of
msgid ""
"The name of the dashboard. This will be displayed in the auto-generated "
"navigation and various other places. Default: ``''``."
msgstr ""
#: ../../../horizon/base.py:docstring horizon.base.Dashboard:53 of
msgid ""
"The name of the panel which should be treated as the default panel for the "
"dashboard, i.e. when you visit the root URL for this dashboard, that's the "
"panel that is displayed. Default: ``None``."
msgstr ""
#: ../../../horizon/base.py:docstring horizon.base.Panel:9 of
msgid ""
"The name of the panel. This will be displayed in the auto-generated "
"navigation and various other places. Default: ``''``."
msgstr ""
#: ../../../horizon/base.py:docstring horizon.base.Dashboard:41 of
msgid ""
"The values for this attribute should not correspond to the :attr:`~.Panel."
"name` attributes of the ``Panel`` classes. They should be the names of the "
"Python modules in which the ``panel.py`` files live. This is used for the "
"automatic loading and registration of ``Panel`` classes much like Django's "
"``ModelAdmin`` machinery."
msgstr ""
#: ../../../horizon/base.py:docstring horizon.base.Site.get_user_home:17 of
msgid ""
"This can be useful if the default dashboard may not be accessible to all "
"users. When user_home is missing from HORIZON_CONFIG, it will default to the "
"settings.LOGIN_REDIRECT_URL value."
msgstr ""
#: ../../../horizon/base.py:docstring horizon.base.Site.get_user_home:3 of
msgid ""
"This method can be used to customize where a user is sent when they log in, "
"etc. By default it returns the value of :meth:`get_absolute_url`."
msgstr ""
#: ../../../horizon/base.py:docstring horizon.base.Dashboard.allowed:6 of
msgid ""
"This method should be overridden to return the result of any policy checks "
"required for the user to access this dashboard when more complex checks are "
"required."
msgstr ""
#: ../../../horizon/base.py:docstring horizon.base.Panel:47 of
msgid ""
"This optional static method can be used to specify conditions that need to "
"be satisfied to load this panel. Unlike ``permissions`` and ``allowed`` this "
"method is intended to handle settings based conditions rather than user "
"based permission and policy checks. The return value is boolean. If the "
"method returns ``True``, then the panel will be registered and available to "
"user (if ``permissions`` and ``allowed`` runtime checks are also satisfied). "
"If the method returns ``False``, then the panel will not be registered and "
"will not be available via normal navigation or direct URL access."
msgstr ""
#: ../../../horizon/base.py:docstring horizon.base.Site.unregister:1 of
msgid "Unregisters a :class:`~horizon.Dashboard` from Horizon."
msgstr ""
#: ../../../horizon/base.py:docstring horizon.base.Dashboard.unregister:1 of
msgid "Unregisters a :class:`~horizon.Panel` from this dashboard."
msgstr ""
#: ../../../horizon/base.py:docstring horizon.base.PanelGroup:3 of
msgid ""
"When iterated, it will yield each of the ``Panel`` instances it contains."
msgstr ""
#: ../../../horizon/context_processors.py:docstring
#: horizon.context_processors:1 of
msgid "Context processors used by Horizon."
msgstr ""
#: ../../../horizon/context_processors.py:docstring
#: horizon.context_processors.horizon:9 of
msgid ""
"Don't put API calls in context processors; they will be called once for each "
"template/template fragment which takes context that is used to render the "
"complete output."
msgstr ""
#: ../../../horizon/context_processors.py:docstring
#: horizon.context_processors.horizon:3 of
msgid ""
"It adds the Horizon config to the context as well as setting the names "
"``True`` and ``False`` in the context to their boolean equivalents for "
"convenience."
msgstr ""
#: ../../../horizon/context_processors.py:docstring
#: horizon.context_processors.horizon:1 of
msgid "The main Horizon context processor. Required for Horizon to function."
msgstr ""
#: ../../../horizon/decorators.py:docstring
#: horizon.decorators.require_component_access:3 of
msgid ":param component containing the view (panel or dashboard)."
msgstr ""
#: ../../../horizon/decorators.py:docstring horizon.decorators.require_perms:3
#: of
msgid ""
"A tuple of permission names, all of which the request user must possess in "
"order access the decorated view."
msgstr ""
#: ../../../horizon/decorators.py:docstring horizon.decorators.require_perms:1
#: of
msgid "Enforces permission-based access controls."
msgstr ""
#: ../../../horizon/decorators.py:docstring horizon.decorators.require_perms:6
#: of
msgid "Example usage::"
msgstr ""
#: ../../../horizon/decorators.py:docstring horizon.decorators:1 of
msgid "General-purpose decorators for use with Horizon."
msgstr ""
#: ../../../horizon/decorators.py:docstring
#: ../../../openstack_auth/forms.py:docstring
#: ../../../openstack_auth/user.py:docstring
#: ../../../openstack_auth/utils.py:docstring
#: ../../../openstack_auth/views.py:docstring
#: horizon.decorators.require_perms:0 of
#: openstack_auth.forms.DummyAuth.get_headers:0
#: openstack_auth.user.User.is_token_expired:0
#: openstack_auth.utils.get_client_ip:0 openstack_auth.utils.get_websso_url:0
#: openstack_auth.utils.is_token_valid:0
#: openstack_auth.utils.store_initial_k2k_session:0
#: openstack_auth.views.logout:0
msgid "Parameters"
msgstr ""
#: ../../../horizon/decorators.py:docstring
#: horizon.decorators.require_component_access:1 of
msgid "Perform component can_access check to access the view."
msgstr ""
#: ../../../horizon/decorators.py:docstring horizon.decorators.require_auth:1
#: of
msgid "Performs user authentication check."
msgstr ""
#: ../../../horizon/decorators.py:docstring horizon.decorators.require_perms:15
#: of
msgid ""
"Raises a :exc:`~horizon.exceptions.NotAuthorized` exception if the "
"requirements are not met."
msgstr ""
#: ../../../horizon/decorators.py:docstring
#: horizon.decorators.require_component_access:5 of
msgid ""
"Raises a :exc:`~horizon.exceptions.NotAuthorized` exception if the user "
"cannot access the component containing the view. By example the check of "
"component policy rules will be applied to its views."
msgstr ""
#: ../../../horizon/decorators.py:docstring horizon.decorators.require_auth:3
#: of
msgid ""
"Similar to Django's `login_required` decorator, except that this throws :exc:"
"`~horizon.exceptions.NotAuthenticated` exception if the user is not signed-"
"in."
msgstr ""
#: ../../../horizon/exceptions.py:docstring
#: horizon.exceptions.ServiceCatalogException:1 of
msgid "A requested service is not available in the ``ServiceCatalog``."
msgstr ""
#: ../../../horizon/exceptions.py:docstring horizon.exceptions.AlreadyExists:1
#: of
msgid "API resources tried to create already exists."
msgstr ""
#: ../../../horizon/exceptions.py:docstring horizon.exceptions.handle:20 of
msgid ""
"All other exceptions bubble the stack as normal unless the ``ignore`` "
"argument is passed in as ``True``, in which case only unrecognized errors "
"are bubbled."
msgstr ""
#: ../../../horizon/exceptions.py:docstring
#: horizon.exceptions.HorizonException:1 of
msgid "Base exception class for distinguishing our own exception classes."
msgstr ""
#: ../../../horizon/exceptions.py:docstring horizon.exceptions.handle:3 of
msgid ""
"Because Horizon consumes so many different APIs with completely different "
"``Exception`` types, it's necessary to have a centralized place for handling "
"exceptions which may be raised."
msgstr ""
#: ../../../horizon/exceptions.py:docstring horizon.exceptions.handle:1 of
msgid "Centralized error handling for Horizon."
msgstr ""
#: ../../../horizon/exceptions.py:docstring
#: horizon.exceptions.HorizonReporterFilter:1 of
msgid "Error report filter that's always active, even in DEBUG mode."
msgstr ""
#: ../../../horizon/exceptions.py:docstring horizon.exceptions.MessageFailure:1
#: of
msgid "Exception raised during message notification."
msgstr ""
#: ../../../horizon/exceptions.py:docstring
#: horizon.exceptions.WorkflowValidationError:1 of
msgid "Exception raised during workflow validation."
msgstr ""
#: ../../../horizon/exceptions.py:docstring
#: horizon.exceptions.ConfigurationError:1 of
msgid "Exception to be raised when invalid settings have been provided."
msgstr ""
#: ../../../horizon/exceptions.py:docstring horizon.exceptions.WorkflowError:1
#: of
msgid "Exception to be raised when something goes wrong in a workflow."
msgstr ""
#: ../../../horizon/exceptions.py:docstring horizon.exceptions.NotAvailable:1
#: of
msgid "Exception to be raised when something is not available."
msgstr ""
#: ../../../horizon/exceptions.py:docstring horizon.exceptions.GetFileError:1
#: of
msgid "Exception to be raised when the value of get_file is not expected."
msgstr ""
#: ../../../horizon/exceptions.py:docstring horizon.exceptions.Http302:1 of
msgid "Exception used to redirect at the middleware level."
msgstr ""
#: ../../../horizon/exceptions.py:docstring horizon.exceptions.handle:7 of
msgid "Exceptions are roughly divided into 3 types:"
msgstr ""
#: ../../../horizon/exceptions.py:docstring horizon.exceptions:1 of
msgid ""
"Exceptions raised by the Horizon code and the machinery for handling them."
msgstr ""
#: ../../../horizon/exceptions.py:docstring horizon.exceptions.BadRequest:1 of
msgid "Generic error to replace all \"BadRequest\"-type API errors."
msgstr ""
#: ../../../horizon/exceptions.py:docstring horizon.exceptions.Conflict:1 of
msgid "Generic error to replace all \"Conflict\"-type API errors."
msgstr ""
#: ../../../horizon/exceptions.py:docstring horizon.exceptions.NotFound:1 of
msgid "Generic error to replace all \"Not Found\"-type API errors."
msgstr ""
#: ../../../horizon/exceptions.py:docstring
#: horizon.exceptions.RecoverableError:1 of
msgid "Generic error to replace any \"Recoverable\"-type API errors."
msgstr ""
#: ../../../horizon/exceptions.py:docstring horizon.exceptions.handle:24 of
msgid ""
"If the exception is not re-raised, an appropriate wrapper exception class "
"indicating the type of exception that was encountered will be returned. If "
"details is None (default), take it from exception sys.exc_info. If details "
"is other string, then use that string explicitly or if details is empty then "
"suppress it."
msgstr ""
#: ../../../horizon/exceptions.py:docstring
#: horizon.exceptions.WorkflowValidationError:3 of
msgid ""
"It is raised if required data is missing, or existing data is not valid."
msgstr ""
#: ../../../horizon/exceptions.py:docstring
#: horizon.exceptions.HandledException:3 of
msgid ""
"It is used to track exceptions that have gone through :func:`horizon."
"exceptions.handle` more than once."
msgstr ""
#: ../../../horizon/exceptions.py:docstring
#: horizon.exceptions.NotAuthenticated:1 of
msgid ""
"Raised when a user is trying to make requests and they are not logged in."
msgstr ""
#: ../../../horizon/exceptions.py:docstring horizon.exceptions.NotAuthorized:3
#: of
msgid ""
"Raised whenever a user attempts to access a resource which they do not have "
"permission-based access to (such as when failing the :func:`~horizon."
"decorators.require_perms` decorator)."
msgstr ""
#: ../../../horizon/exceptions.py:docstring horizon.exceptions.GetFileError:3
#: of
msgid ""
"The expected values start with https:// or http://. Otherwise this exception "
"will be raised."
msgstr ""
#: ../../../horizon/exceptions.py:docstring
#: horizon.exceptions.NotAuthenticated:3 of
msgid ""
"The included :class:`~horizon.middleware.HorizonMiddleware` catches "
"``NotAuthenticated`` and handles it gracefully by displaying an error "
"message and redirecting the user to a login page."
msgstr ""
#: ../../../horizon/exceptions.py:docstring horizon.exceptions.NotAuthorized:7
#: of
msgid ""
"The included :class:`~horizon.middleware.HorizonMiddleware` catches "
"``NotAuthorized`` and handles it gracefully by displaying an error message "
"and redirecting the user to a login page."
msgstr ""
#: ../../../horizon/exceptions.py:docstring horizon.exceptions.Http302:3 of
msgid ""
"This error class which can be raised from within a handler to cause an early "
"bailout and redirect at the middleware level."
msgstr ""
#: ../../../horizon/exceptions.py:docstring
#: horizon.exceptions.HorizonReporterFilter.is_active:1 of
msgid ""
"This filter is to add safety in production environments (i.e. DEBUG is "
"False). If DEBUG is True then your site is not safe anyway. This hook is "
"provided as a convenience to easily activate or deactivate the filter on a "
"per request basis."
msgstr ""
#: ../../../horizon/exceptions.py:docstring
#: horizon.exceptions.HandledException:1 of
msgid "Used internally to track exceptions that are already handled."
msgstr ""
#: ../../../horizon/exceptions.py:docstring horizon.exceptions.NotAuthorized:1
#: of
msgid "User tries to access a resource without sufficient permissions."
msgstr ""
#: ../../../horizon/exceptions.py:docstring horizon.exceptions.handle:11 of
msgid ""
"``NOT_FOUND``: Errors resulting from objects which could not be located via "
"the API. These generally result in a user-facing error message, but are "
"otherwise returned to the normal code flow. Optionally a redirect value may "
"be passed to the error handler so users are returned to a different view "
"than the one requested in addition to the error message."
msgstr ""
#: ../../../horizon/exceptions.py:docstring horizon.exceptions.handle:17 of
msgid ""
"``RECOVERABLE``: Generic API errors which generate a user-facing message but "
"drop directly back to the regular code flow."
msgstr ""
#: ../../../horizon/exceptions.py:docstring
#: horizon.exceptions.ServiceCatalogException:3 of
msgid "``ServiceCatalog`` is fetched from Keystone."
msgstr ""
#: ../../../horizon/exceptions.py:docstring horizon.exceptions.handle:9 of
msgid ""
"``UNAUTHORIZED``: Errors resulting from authentication or authorization "
"problems. These result in being logged out and sent to the login screen."
msgstr ""
#: ../../../horizon/forms/base.py:docstring
#: horizon.forms.base.SelfHandlingForm:1 of
msgid "A base Form class which includes processing logic in its subclasses."
msgstr ""
#: ../../../horizon/forms/base.py:docstring horizon.forms.base.DateForm:1 of
msgid "A simple form for selecting a range of time."
msgstr ""
#: ../../../horizon/forms/base.py:docstring
#: horizon.forms.base.SelfHandlingForm.api_error:1 of
msgid "Adds an error to the form's error dictionary."
msgstr ""
#: ../../../horizon/forms/base.py:docstring
#: horizon.forms.base.SelfHandlingForm.api_error:3 of
msgid ""
"It can be used after validation based on problems reported via the API. This "
"is useful when you wish for API errors to appear as errors on the form "
"rather than using the messages framework."
msgstr ""
#: ../../../horizon/forms/base.py:docstring
#: ../../../horizon/workflows/base.py:docstring
#: ../../../openstack_auth/forms.py:docstring
#: horizon.forms.base.DateForm.media:1
#: horizon.forms.base.SelfHandlingForm.media:1 horizon.workflows.Action.media:1
#: of openstack_auth.forms.Login.media:1 openstack_auth.forms.Password.media:1
#: openstack_auth.forms.TimeBasedOneTimePassword.media:1
msgid "Return all media required to render the widgets on this form."
msgstr ""
#: ../../../horizon/forms/base.py:docstring
#: horizon.forms.base.SelfHandlingForm.set_warning:1 of
msgid "Sets a warning on the form."
msgstr ""
#: ../../../horizon/forms/base.py:docstring
#: horizon.forms.base.SelfHandlingForm.set_warning:3 of
msgid "Unlike NON_FIELD_ERRORS, this doesn't fail form validation."
msgstr ""
#: ../../../horizon/forms/fields.py:docstring
#: horizon.forms.fields.SelectWidget:22 of
msgid ""
"A callable used to render additional HTML attributes for the option object. "
"It returns a dictionary containing the html attributes and their values. For "
"example, to define a title attribute for the choices::"
msgstr ""
#: ../../../horizon/forms/fields.py:docstring
#: horizon.forms.fields.SelectWidget:17 of
msgid "A callable used to render the display value from the option object."
msgstr ""
#: ../../../horizon/forms/fields.py:docstring
#: horizon.forms.fields.DynamicSelectWidget:3 of
msgid ""
"A subclass of the ``Select`` widget which renders extra attributes for use "
"in callbacks to handle dynamic changes to the available choices."
msgstr ""
#: ../../../horizon/forms/fields.py:docstring
#: horizon.forms.fields.ChoiceInput:3 of
msgid ""
"An object used by ChoiceFieldRenderer that represents a single ."
msgstr ""
#: ../../../horizon/forms/fields.py:docstring horizon.forms.fields.IPField:22
#: of
msgid ""
"Boolean flag to validate subnet masks along with IP address. E.g: 10.0.0.1/"
"32"
msgstr ""
#: ../../../horizon/forms/fields.py:docstring
#: horizon.forms.fields.ThemableSelectWidget:1 of
msgid "Bootstrap base select field widget."
msgstr ""
#: ../../../horizon/forms/fields.py:docstring
#: horizon.forms.fields.ThemableChoiceField:1 of
msgid "Bootstrap based select field."
msgstr ""
#: ../../../horizon/forms/fields.py:docstring
#: horizon.forms.fields.ThemableCheckboxInput:1 of
msgid "Checkbox widget which renders extra markup."
msgstr ""
#: ../../../horizon/forms/fields.py:docstring
#: horizon.forms.fields.DynamicChoiceField:1 of
msgid "ChoiceField that make dynamically updating its elements easier."
msgstr ""
#: ../../../horizon/forms/fields.py:docstring
#: horizon.forms.fields.ChoiceInput:1 of
msgid "ChoiceInput class from django 1.10.7 codebase"
msgstr ""
#: ../../../horizon/forms/fields.py:docstring
#: horizon.forms.fields.SelectWidget:1 of
msgid "Custom select widget."
msgstr ""
#: ../../../horizon/forms/fields.py:docstring
#: horizon.forms.fields.MultiIPField:1 of
msgid "Extends IPField to allow comma-separated lists of addresses."
msgstr ""
#: ../../../horizon/forms/fields.py:docstring horizon.forms.fields.IPField:1 of
msgid "Form field for entering IP/range values, with validation."
msgstr ""
#: ../../../horizon/forms/fields.py:docstring
#: horizon.forms.fields.MACAddressField:1 of
msgid "Form field for entering a MAC address with validation."
msgstr ""
#: ../../../horizon/forms/fields.py:docstring
#: horizon.forms.fields.SelectWidget.build_attrs:1 of
msgid "Helper function for building an attribute dictionary."
msgstr ""
#: ../../../horizon/forms/fields.py:docstring
#: horizon.forms.fields.SelectWidget:3 of
msgid ""
"It allows to render data-xxx attributes from choices. This widget also "
"allows user to specify additional html attributes for choices."
msgstr ""
#: ../../../horizon/forms/fields.py:docstring
#: horizon.forms.fields.ThemableCheckboxInput:3 of
msgid "It is used to allow a custom checkbox experience."
msgstr ""
#: ../../../horizon/forms/fields.py:docstring
#: horizon.forms.fields.ExternalUploadMeta:1 of
msgid "Metaclass to process ExternalFileField fields in a specific way."
msgstr ""
#: ../../../horizon/forms/fields.py:docstring
#: horizon.forms.fields.DynamicChoiceField:3 of
msgid ""
"Notably, the field declaration takes an extra argument, ``add_item_link`` "
"which may be a string or callable defining the URL that should be used for "
"the \"add\" link associated with the field."
msgstr ""
#: ../../../horizon/forms/fields.py:docstring
#: horizon.forms.fields.DynamicSelectWidget.render:1
#: horizon.forms.fields.SelectWidget.render:1
#: horizon.forms.fields.ThemableCheckboxInput.render:1
#: horizon.forms.fields.ThemableSelectWidget.render:1 of
msgid "Render the widget as an HTML string."
msgstr ""
#: ../../../horizon/forms/fields.py:docstring
#: horizon.forms.fields.ExternalUploadMeta:3 of
msgid ""
"Set this class as the metaclass of a form that contains ExternalFileField in "
"order to process ExternalFileField fields in a specific way. A hidden "
"CharField twin of FieldField is created which contains just the filename (if "
"any file was selected on browser side) and a special `clean` method for "
"FileField is defined which extracts just file name. This allows to avoid "
"actual file upload to Django server, yet process form clean() phase as usual."
" Actual file upload happens entirely on client-side."
msgstr ""
#: ../../../horizon/forms/fields.py:docstring
#: horizon.forms.fields.DynamicTypedChoiceField:1 of
msgid "Simple mix of ``DynamicChoiceField`` and ``TypedChoiceField``."
msgstr ""
#: ../../../horizon/forms/fields.py:docstring
#: horizon.forms.fields.ThemableDynamicTypedChoiceField:1 of
msgid "Simple mix of ``ThemableDynamicChoiceField`` & ``TypedChoiceField``."
msgstr ""
#: ../../../horizon/forms/fields.py:docstring horizon.forms.fields.SubWidget:3
#: of
msgid ""
"Some widgets are made of multiple HTML elements -- namely, RadioSelect. This "
"is a class that represents the \"inner\" HTML element of a widget."
msgstr ""
#: ../../../horizon/forms/fields.py:docstring
#: horizon.forms.fields.ExternalFileField:1 of
msgid "Special FileField to upload file to some external location."
msgstr ""
#: ../../../horizon/forms/fields.py:docstring
#: horizon.forms.fields.SelectWidget:9 of
msgid ""
"Specifies object properties to serialize as data-xxx attribute. If passed "
"('id', ), this will be rendered as: