summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--doc/source/locale/ja/LC_MESSAGES/doc-install.po12
-rw-r--r--horizon/locale/ja/LC_MESSAGES/djangojs.po10
-rw-r--r--openstack_dashboard/api/keystone.py8
-rw-r--r--openstack_dashboard/dashboards/project/routers/extensions/extraroutes/forms.py9
-rw-r--r--openstack_dashboard/dashboards/project/routers/tests.py17
-rw-r--r--openstack_dashboard/locale/ja/LC_MESSAGES/django.po8
-rw-r--r--openstack_dashboard/static/dashboard/scss/_variables.scss2
-rw-r--r--openstack_dashboard/static/dashboard/scss/components/_membership.scss3
-rw-r--r--openstack_dashboard/usage/quotas.py3
9 files changed, 44 insertions, 28 deletions
diff --git a/doc/source/locale/ja/LC_MESSAGES/doc-install.po b/doc/source/locale/ja/LC_MESSAGES/doc-install.po
index 3d94530ed..9a6a2fcf3 100644
--- a/doc/source/locale/ja/LC_MESSAGES/doc-install.po
+++ b/doc/source/locale/ja/LC_MESSAGES/doc-install.po
@@ -1,14 +1,15 @@
# Akihiro Motoki <amotoki@gmail.com>, 2018. #zanata
+# Michele Valsecchi <mvalsecc@redhat.com>, 2019. #zanata
msgid ""
msgstr ""
-"Project-Id-Version: horizon 15.1.1.dev5\n"
+"Project-Id-Version: horizon 15.1.1.dev18\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-08-23 04:38-0500\n"
+"POT-Creation-Date: 2019-10-01 10:30-0500\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"PO-Revision-Date: 2018-08-14 09:34+0000\n"
-"Last-Translator: Akihiro Motoki <amotoki@gmail.com>\n"
+"PO-Revision-Date: 2019-10-04 05:43+0000\n"
+"Last-Translator: Michele Valsecchi <mvalsecc@redhat.com>\n"
"Language-Team: Japanese\n"
"Language: ja\n"
"X-Generator: Zanata 4.3.3\n"
@@ -360,6 +361,9 @@ msgstr ""
msgid "Set to your domain name(s)"
msgstr "使用するドメイン名に設定します。"
+msgid "Settings"
+msgstr "設定"
+
msgid "Solum Dashboard"
msgstr "Solum Dashboard"
diff --git a/horizon/locale/ja/LC_MESSAGES/djangojs.po b/horizon/locale/ja/LC_MESSAGES/djangojs.po
index d64189681..9f7817160 100644
--- a/horizon/locale/ja/LC_MESSAGES/djangojs.po
+++ b/horizon/locale/ja/LC_MESSAGES/djangojs.po
@@ -4,17 +4,18 @@
# Yuko Katabami <yukokatabami@gmail.com>, 2017. #zanata
# Shu Muto <shu.mutow@gmail.com>, 2018. #zanata
# Yuko Katabami <yukokatabami@gmail.com>, 2018. #zanata
+# Michele Valsecchi <mvalsecc@redhat.com>, 2019. #zanata
# Takashi Kuroda <tkuroda@redhat.com>, 2019. #zanata
msgid ""
msgstr ""
"Project-Id-Version: horizon VERSION\n"
"Report-Msgid-Bugs-To: https://bugs.launchpad.net/openstack-i18n/\n"
-"POT-Creation-Date: 2019-09-12 16:42+0000\n"
+"POT-Creation-Date: 2019-10-01 15:30+0000\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"PO-Revision-Date: 2019-03-19 12:45+0000\n"
-"Last-Translator: Takashi Kuroda <tkuroda@redhat.com>\n"
+"PO-Revision-Date: 2019-10-03 11:55+0000\n"
+"Last-Translator: Michele Valsecchi <mvalsecc@redhat.com>\n"
"Language-Team: Japanese\n"
"Language: ja\n"
"X-Generator: Zanata 4.3.3\n"
@@ -223,6 +224,9 @@ msgstr "完了"
msgid "Flavor"
msgstr "フレーバー"
+msgid "Forbidden. Insufficient permissions of the requested operation"
+msgstr "権限がありません。要求された操作を行うには権限が不十分です。"
+
msgid "Format validation failed"
msgstr "フォーマットの検証に失敗しました"
diff --git a/openstack_dashboard/api/keystone.py b/openstack_dashboard/api/keystone.py
index e99f8c1ba..c2fdc51b2 100644
--- a/openstack_dashboard/api/keystone.py
+++ b/openstack_dashboard/api/keystone.py
@@ -20,8 +20,6 @@
import collections
import logging
-from oslo_utils import uuidutils
-
from django.conf import settings
from django.utils.translation import ugettext_lazy as _
import six
@@ -351,9 +349,6 @@ def is_domain_admin(request):
# tenant commands.
@profiler.trace
def tenant_get(request, project, admin=True):
- if not uuidutils.is_uuid_like(project):
- raise keystone_exceptions.NotFound()
-
manager = VERSIONS.get_project_manager(request, admin=admin)
try:
return manager.get(project)
@@ -473,9 +468,6 @@ def user_delete(request, user_id):
@profiler.trace
def user_get(request, user_id, admin=True):
- if not uuidutils.is_uuid_like(user_id):
- raise keystone_exceptions.NotFound()
-
user = keystoneclient(request, admin=admin).users.get(user_id)
return VERSIONS.upgrade_v2_user(user)
diff --git a/openstack_dashboard/dashboards/project/routers/extensions/extraroutes/forms.py b/openstack_dashboard/dashboards/project/routers/extensions/extraroutes/forms.py
index 75956466e..1d495ab25 100644
--- a/openstack_dashboard/dashboards/project/routers/extensions/extraroutes/forms.py
+++ b/openstack_dashboard/dashboards/project/routers/extensions/extraroutes/forms.py
@@ -29,8 +29,13 @@ LOG = logging.getLogger(__name__)
class AddRouterRoute(forms.SelfHandlingForm):
- destination = forms.IPField(label=_("Destination CIDR"), mask=True)
- nexthop = forms.IPField(label=_("Next Hop"))
+ destination = forms.IPField(
+ version=forms.IPv4 | forms.IPv6,
+ label=_("Destination CIDR"),
+ mask=True)
+ nexthop = forms.IPField(
+ version=forms.IPv4 | forms.IPv6,
+ label=_("Next Hop"))
failure_url = 'horizon:project:routers:detail'
def handle(self, request, data, **kwargs):
diff --git a/openstack_dashboard/dashboards/project/routers/tests.py b/openstack_dashboard/dashboards/project/routers/tests.py
index 645e92cdb..cd3ccf39b 100644
--- a/openstack_dashboard/dashboards/project/routers/tests.py
+++ b/openstack_dashboard/dashboards/project/routers/tests.py
@@ -1076,10 +1076,13 @@ class RouterRouteTestCase(object):
@test.create_mocks({api.neutron: ('router_get',
'router_update')})
- def _test_router_addrouterroute(self, raise_error=False):
+ def _test_router_addrouterroute(self, ipv6=False, raise_error=False):
pre_router = self.routers_with_routes.first()
post_router = copy.deepcopy(pre_router)
- route = {'nexthop': '10.0.0.5', 'destination': '40.0.1.0/24'}
+ if ipv6:
+ route = {'nexthop': 'fdb6:b88a:488e::5', 'destination': '2002::/64'}
+ else:
+ route = {'nexthop': '10.0.0.5', 'destination': '40.0.1.0/24'}
post_router['routes'].insert(0, route)
self.mock_router_get.return_value = pre_router
if raise_error:
@@ -1112,6 +1115,16 @@ class RouterRouteTestCase(object):
self._test_router_addrouterroute(raise_error=True)
self.assertMessageCount(error=1)
+ def test_router_addrouteripv6route(self):
+ if self.DASHBOARD == 'project':
+ self._test_router_addrouterroute(ipv6=True)
+ self.assertMessageCount(success=1)
+
+ def test_router_addrouteripv6route_exception(self):
+ if self.DASHBOARD == 'project':
+ self._test_router_addrouterroute(ipv6=True, raise_error=True)
+ self.assertMessageCount(error=1)
+
@test.create_mocks({api.neutron: ('router_get',
'router_update',
'network_get',
diff --git a/openstack_dashboard/locale/ja/LC_MESSAGES/django.po b/openstack_dashboard/locale/ja/LC_MESSAGES/django.po
index aa1e97b2e..aeb57d82e 100644
--- a/openstack_dashboard/locale/ja/LC_MESSAGES/django.po
+++ b/openstack_dashboard/locale/ja/LC_MESSAGES/django.po
@@ -11,12 +11,12 @@ msgid ""
msgstr ""
"Project-Id-Version: horizon VERSION\n"
"Report-Msgid-Bugs-To: https://bugs.launchpad.net/openstack-i18n/\n"
-"POT-Creation-Date: 2019-04-13 19:07+0000\n"
+"POT-Creation-Date: 2019-09-26 15:24+0000\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"PO-Revision-Date: 2019-04-19 05:55+0000\n"
-"Last-Translator: Takashi Kuroda <tkuroda@redhat.com>\n"
+"PO-Revision-Date: 2019-09-30 09:32+0000\n"
+"Last-Translator: Akihiro Motoki <amotoki@gmail.com>\n"
"Language-Team: Japanese\n"
"Language: ja\n"
"X-Generator: Zanata 4.3.3\n"
@@ -6969,7 +6969,7 @@ msgid "Topology"
msgstr "トポロジー"
msgid "Total Active RAM (MB):"
-msgstr "使用中の合計メモリー量 (GB):"
+msgstr "使用中の合計メモリー量 (MB):"
msgid "Total Disk"
msgstr "合計ディスク"
diff --git a/openstack_dashboard/static/dashboard/scss/_variables.scss b/openstack_dashboard/static/dashboard/scss/_variables.scss
index ead18c0b0..fbe0bda52 100644
--- a/openstack_dashboard/static/dashboard/scss/_variables.scss
+++ b/openstack_dashboard/static/dashboard/scss/_variables.scss
@@ -72,7 +72,7 @@ $members-list-border: 1px solid $gray-light !default;
// TODO: These values are hardcoded lengths but they are actually
// very dependant on the modal size set in the theme. We need
// to eventually readdress these and calculate them dynamically
-$members-list-item-width: 130px !default;
+$members-list-item-width: 80% !default;
$members-list-item-max-width: 327px !default;
$members-list-roles-width: 125px !default;
diff --git a/openstack_dashboard/static/dashboard/scss/components/_membership.scss b/openstack_dashboard/static/dashboard/scss/components/_membership.scss
index 2a207bb04..cc0ad7f78 100644
--- a/openstack_dashboard/static/dashboard/scss/components/_membership.scss
+++ b/openstack_dashboard/static/dashboard/scss/components/_membership.scss
@@ -102,7 +102,6 @@
background-color: $link-hover-color;
}
}
- .member,
.role_options .roles_display {
overflow: hidden;
text-overflow: ellipsis;
@@ -112,6 +111,8 @@
padding-right: 0;
padding-left: $padding-base-vertical;
max-width: $members-list-item-width;
+ overflow: hidden;
+ overflow-wrap: break-word; // In case it is really long
}
.role_options {
margin-left: 0;
diff --git a/openstack_dashboard/usage/quotas.py b/openstack_dashboard/usage/quotas.py
index f60cb1399..731ad4ee7 100644
--- a/openstack_dashboard/usage/quotas.py
+++ b/openstack_dashboard/usage/quotas.py
@@ -238,9 +238,6 @@ def get_tenant_quota_data(request, disabled_quotas=None, tenant_id=None):
@profiler.trace
def get_disabled_quotas(request, targets=None):
if targets:
- if set(targets) - QUOTA_FIELDS:
- raise ValueError('Unknown quota field names are included: %s'
- % set(targets) - QUOTA_FIELDS)
candidates = set(targets)
else:
candidates = QUOTA_FIELDS