Make admin_state translatable

In several panels the network admin state is hardcoded to UP/DOWN,
this patch aims to make the admin_state translatable.

Change-Id: Ia0e5ba02a4980c1db0d914e2689956feee5fb718
Closes-bug: #1390207
This commit is contained in:
liyingjun 2014-12-16 15:36:15 +08:00
parent a6d7619f11
commit 33092aec9b
18 changed files with 96 additions and 48 deletions

View File

@ -74,8 +74,8 @@ class CreateNetwork(forms.SelfHandlingForm):
'data-network_type-gre': _('Segmentation ID'),
'data-network_type-vxlan': _('Segmentation ID')
}))
# TODO(amotoki): make UP/DOWN translatable
admin_state = forms.ChoiceField(choices=[(True, 'UP'), (False, 'DOWN')],
admin_state = forms.ChoiceField(choices=[(True, _('UP')),
(False, _('DOWN'))],
label=_("Admin State"))
shared = forms.BooleanField(label=_("Shared"),
initial=False, required=False)
@ -233,8 +233,8 @@ class CreateNetwork(forms.SelfHandlingForm):
class UpdateNetwork(forms.SelfHandlingForm):
name = forms.CharField(label=_("Name"), required=False)
tenant_id = forms.CharField(widget=forms.HiddenInput)
# TODO(amotoki): make UP/DOWN translatable
admin_state = forms.ChoiceField(choices=[(True, 'UP'), (False, 'DOWN')],
admin_state = forms.ChoiceField(choices=[(True, _('UP')),
(False, _('DOWN'))],
label=_("Admin State"))
shared = forms.BooleanField(label=_("Shared"), required=False)
external = forms.BooleanField(label=_("External Network"), required=False)

View File

@ -39,8 +39,8 @@ class CreatePort(forms.SelfHandlingForm):
name = forms.CharField(max_length=255,
label=_("Name"),
required=False)
# TODO(amotoki): make UP/DOWN translatable
admin_state = forms.ChoiceField(choices=[(True, 'UP'), (False, 'DOWN')],
admin_state = forms.ChoiceField(choices=[(True, _('UP')),
(False, _('DOWN'))],
label=_("Admin State"))
device_id = forms.CharField(max_length=100, label=_("Device ID"),
help_text=_("Device ID attached to the port"),

View File

@ -15,6 +15,7 @@
import logging
from django.core.urlresolvers import reverse
from django.utils.translation import pgettext_lazy
from django.utils.translation import ugettext_lazy as _
from django.utils.translation import ungettext_lazy
@ -86,6 +87,12 @@ class UpdatePort(policy.PolicyTargetMixin, tables.LinkAction):
return reverse(self.url, args=(network_id, port.id))
DISPLAY_CHOICES = (
("UP", pgettext_lazy("Admin state of a Network", u"UP")),
("DOWN", pgettext_lazy("Admin state of a Network", u"DOWN")),
)
class PortsTable(tables.DataTable):
name = tables.Column("name",
verbose_name=_("Name"),
@ -96,7 +103,8 @@ class PortsTable(tables.DataTable):
project_tables.get_attached, verbose_name=_("Device Attached"))
status = tables.Column("status", verbose_name=_("Status"))
admin_state = tables.Column("admin_state",
verbose_name=_("Admin State"))
verbose_name=_("Admin State"),
display_choices=DISPLAY_CHOICES)
mac_state = tables.Column("mac_state", empty_value=api.neutron.OFF_STATE,
verbose_name=_("Mac Learning State"))

View File

@ -16,6 +16,7 @@ import logging
from django.core.urlresolvers import reverse
from django.template import defaultfilters as filters
from django.utils.translation import pgettext_lazy
from django.utils.translation import ugettext_lazy as _
from django.utils.translation import ungettext_lazy
@ -82,6 +83,12 @@ class EditNetwork(policy.PolicyTargetMixin, tables.LinkAction):
# return ','.join(cidrs)
DISPLAY_CHOICES = (
("UP", pgettext_lazy("Admin state of a Network", u"UP")),
("DOWN", pgettext_lazy("Admin state of a Network", u"DOWN")),
)
class NetworksTable(tables.DataTable):
tenant = tables.Column("tenant_name", verbose_name=_("Project"))
name = tables.Column("name", verbose_name=_("Network Name"),
@ -94,7 +101,8 @@ class NetworksTable(tables.DataTable):
filters=(filters.yesno, filters.capfirst))
status = tables.Column("status", verbose_name=_("Status"))
admin_state = tables.Column("admin_state",
verbose_name=_("Admin State"))
verbose_name=_("Admin State"),
display_choices=DISPLAY_CHOICES)
class Meta:
name = "networks"

View File

@ -12,6 +12,7 @@
# License for the specific language governing permissions and limitations
# under the License.
from django.utils.translation import pgettext_lazy
from django.utils.translation import ugettext_lazy as _
from horizon import tables
@ -21,6 +22,12 @@ from openstack_dashboard.dashboards.project.routers.ports \
import tables as routers_tables
DISPLAY_CHOICES = (
("UP", pgettext_lazy("Admin state of a Network", u"UP")),
("DOWN", pgettext_lazy("Admin state of a Network", u"DOWN")),
)
class PortsTable(tables.DataTable):
name = tables.Column("name",
verbose_name=_("Name"),
@ -31,7 +38,8 @@ class PortsTable(tables.DataTable):
device_owner = tables.Column(routers_tables.get_device_owner,
verbose_name=_("Type"))
admin_state = tables.Column("admin_state",
verbose_name=_("Admin State"))
verbose_name=_("Admin State"),
display_choices=DISPLAY_CHOICES)
def get_object_display(self, port):
return port.id

View File

@ -128,8 +128,8 @@ class UpdateFirewall(forms.SelfHandlingForm):
label=_("Description"),
required=False)
firewall_policy_id = forms.ChoiceField(label=_("Policy"))
# TODO(amotoki): make UP/DOWN translatable
admin_state_up = forms.ChoiceField(choices=[(True, 'UP'), (False, 'DOWN')],
admin_state_up = forms.ChoiceField(choices=[(True, _('UP')),
(False, _('DOWN'))],
label=_("Admin State"))
failure_url = 'horizon:project:firewalls:index'

View File

@ -238,8 +238,8 @@ class AddFirewallAction(workflows.Action):
shared = forms.BooleanField(label=_("Shared"),
initial=False,
required=False)
# TODO(amotoki): make UP/DOWN translatable
admin_state_up = forms.ChoiceField(choices=[(True, 'UP'), (False, 'DOWN')],
admin_state_up = forms.ChoiceField(choices=[(True, _('UP')),
(False, _('DOWN'))],
label=_("Admin State"))
def __init__(self, request, *args, **kwargs):

View File

@ -35,8 +35,8 @@ class UpdatePool(forms.SelfHandlingForm):
description = forms.CharField(required=False,
max_length=80, label=_("Description"))
lb_method = forms.ChoiceField(label=_("Load Balancing Method"))
# TODO(amotoki): make UP/DOWN translatable
admin_state_up = forms.ChoiceField(choices=[(True, 'UP'), (False, 'DOWN')],
admin_state_up = forms.ChoiceField(choices=[(True, _('UP')),
(False, _('DOWN'))],
label=_("Admin State"))
failure_url = 'horizon:project:loadbalancers:index'
@ -90,8 +90,8 @@ class UpdateVip(forms.SelfHandlingForm):
min_value=-1, label=_("Connection Limit"),
help_text=_("Maximum number of connections allowed "
"for the VIP or '-1' if the limit is not set"))
# TODO(amotoki): make UP/DOWN translatable
admin_state_up = forms.ChoiceField(choices=[(True, 'UP'), (False, 'DOWN')],
admin_state_up = forms.ChoiceField(choices=[(True, _('UP')),
(False, _('DOWN'))],
label=_("Admin State"))
failure_url = 'horizon:project:loadbalancers:index'
@ -173,8 +173,8 @@ class UpdateMember(forms.SelfHandlingForm):
weight = forms.IntegerField(max_value=256, min_value=0, label=_("Weight"),
help_text=_("Relative part of requests this "
"pool member serves compared to others"))
# TODO(amotoki): make UP/DOWN translatable
admin_state_up = forms.ChoiceField(choices=[(True, 'UP'), (False, 'DOWN')],
admin_state_up = forms.ChoiceField(choices=[(True, _('UP')),
(False, _('DOWN'))],
label=_("Admin State"))
failure_url = 'horizon:project:loadbalancers:index'
@ -235,8 +235,8 @@ class UpdateMonitor(forms.SelfHandlingForm):
label=_("Max Retries (1~10)"),
help_text=_("Number of permissible failures before changing "
"the status of member to inactive"))
# TODO(amotoki): make UP/DOWN translatable
admin_state_up = forms.ChoiceField(choices=[(True, 'UP'), (False, 'DOWN')],
admin_state_up = forms.ChoiceField(choices=[(True, _('UP')),
(False, _('DOWN'))],
label=_("Admin State"))
failure_url = 'horizon:project:loadbalancers:index'

View File

@ -43,8 +43,8 @@ class AddPoolAction(workflows.Action):
subnet_id = forms.ChoiceField(label=_("Subnet"))
protocol = forms.ChoiceField(label=_("Protocol"))
lb_method = forms.ChoiceField(label=_("Load Balancing Method"))
# TODO(amotoki): make UP/DOWN translatable
admin_state_up = forms.ChoiceField(choices=[(True, 'UP'), (False, 'DOWN')],
admin_state_up = forms.ChoiceField(choices=[(True, _('UP')),
(False, _('DOWN'))],
label=_("Admin State"))
def __init__(self, request, *args, **kwargs):
@ -190,8 +190,8 @@ class AddVipAction(workflows.Action):
required=False, min_value=-1, label=_("Connection Limit"),
help_text=_("Maximum number of connections allowed "
"for the VIP or '-1' if the limit is not set"))
# TODO(amotoki): make UP/DOWN translatable
admin_state_up = forms.ChoiceField(choices=[(True, 'UP'), (False, 'DOWN')],
admin_state_up = forms.ChoiceField(choices=[(True, _('UP')),
(False, _('DOWN'))],
label=_("Admin State"))
def __init__(self, request, *args, **kwargs):
@ -342,8 +342,8 @@ class AddMemberAction(workflows.Action):
"members and can be modified later."),
validators=[validators.validate_port_range]
)
# TODO(amotoki): make UP/DOWN translatable
admin_state_up = forms.ChoiceField(choices=[(True, 'UP'), (False, 'DOWN')],
admin_state_up = forms.ChoiceField(choices=[(True, _('UP')),
(False, _('DOWN'))],
label=_("Admin State"))
def __init__(self, request, *args, **kwargs):
@ -545,8 +545,8 @@ class AddMonitorAction(workflows.Action):
'data-type-http': _('Expected HTTP Status Codes'),
'data-type-https': _('Expected HTTP Status Codes')
}))
# TODO(amotoki): make UP/DOWN translatable
admin_state_up = forms.ChoiceField(choices=[(True, 'UP'), (False, 'DOWN')],
admin_state_up = forms.ChoiceField(choices=[(True, _('UP')),
(False, _('DOWN'))],
label=_("Admin State"))
def __init__(self, request, *args, **kwargs):

View File

@ -34,8 +34,8 @@ LOG = logging.getLogger(__name__)
class UpdateNetwork(forms.SelfHandlingForm):
name = forms.CharField(label=_("Name"), required=False)
tenant_id = forms.CharField(widget=forms.HiddenInput)
# TODO(amotoki): make UP/DOWN translatable
admin_state = forms.ChoiceField(choices=[(True, 'UP'), (False, 'DOWN')],
admin_state = forms.ChoiceField(choices=[(True, _('UP')),
(False, _('DOWN'))],
label=_("Admin State"))
failure_url = 'horizon:project:networks:index'

View File

@ -33,8 +33,8 @@ class UpdatePort(forms.SelfHandlingForm):
name = forms.CharField(max_length=255,
label=_("Name"),
required=False)
# TODO(amotoki): make UP/DOWN translatable
admin_state = forms.ChoiceField(choices=[(True, 'UP'), (False, 'DOWN')],
admin_state = forms.ChoiceField(choices=[(True, _('UP')),
(False, _('DOWN'))],
label=_("Admin State"))
failure_url = 'horizon:project:networks:detail'

View File

@ -14,6 +14,7 @@
from django.core.urlresolvers import reverse
from django import template
from django.utils.translation import pgettext_lazy
from django.utils.translation import ugettext_lazy as _
from horizon import tables
@ -50,6 +51,12 @@ class UpdatePort(policy.PolicyTargetMixin, tables.LinkAction):
return reverse(self.url, args=(network_id, port.id))
DISPLAY_CHOICES = (
("UP", pgettext_lazy("Admin state of a Port", u"UP")),
("DOWN", pgettext_lazy("Admin state of a Port", u"DOWN")),
)
class PortsTable(tables.DataTable):
name = tables.Column("name",
verbose_name=_("Name"),
@ -58,7 +65,8 @@ class PortsTable(tables.DataTable):
attached = tables.Column(get_attached, verbose_name=_("Attached Device"))
status = tables.Column("status", verbose_name=_("Status"))
admin_state = tables.Column("admin_state",
verbose_name=_("Admin State"))
verbose_name=_("Admin State"),
display_choices=DISPLAY_CHOICES)
mac_state = tables.Column("mac_state", empty_value=api.neutron.OFF_STATE,
verbose_name=_("MAC Learning State"))

View File

@ -16,6 +16,7 @@ import logging
from django.core.urlresolvers import reverse
from django import template
from django.template import defaultfilters as filters
from django.utils.translation import pgettext_lazy
from django.utils.translation import ugettext_lazy as _
from django.utils.translation import ungettext_lazy
@ -141,6 +142,12 @@ def get_subnets(network):
return template.loader.render_to_string(template_name, context)
DISPLAY_CHOICES = (
("UP", pgettext_lazy("Admin state of a Network", u"UP")),
("DOWN", pgettext_lazy("Admin state of a Network", u"DOWN")),
)
class NetworksTable(tables.DataTable):
name = tables.Column("name",
verbose_name=_("Name"),
@ -152,7 +159,8 @@ class NetworksTable(tables.DataTable):
status = tables.Column("status", verbose_name=_("Status"),
filters=(filters.title,))
admin_state = tables.Column("admin_state",
verbose_name=_("Admin State"))
verbose_name=_("Admin State"),
display_choices=DISPLAY_CHOICES)
class Meta:
name = "networks"

View File

@ -44,8 +44,8 @@ class CreateNetworkInfoAction(workflows.Action):
required=False,
widget=widget)
# TODO(amotoki): make UP/DOWN translatable
admin_state = forms.ChoiceField(choices=[(True, 'UP'), (False, 'DOWN')],
admin_state = forms.ChoiceField(choices=[(True, _('UP')),
(False, _('DOWN'))],
label=_("Admin State"),
help_text=_("The state to start"
" the network in."))

View File

@ -83,8 +83,8 @@ class CreateForm(forms.SelfHandlingForm):
class UpdateForm(forms.SelfHandlingForm):
name = forms.CharField(label=_("Name"), required=False)
# TODO(amotoki): make UP/DOWN translatable
admin_state = forms.ChoiceField(choices=[(True, 'UP'), (False, 'DOWN')],
admin_state = forms.ChoiceField(choices=[(True, _('UP')),
(False, _('DOWN'))],
label=_("Admin State"))
router_id = forms.CharField(label=_("ID"),
widget=forms.HiddenInput())

View File

@ -15,6 +15,7 @@
import logging
from django.core.urlresolvers import reverse
from django.utils.translation import pgettext_lazy
from django.utils.translation import ugettext_lazy as _
from django.utils.translation import ungettext_lazy
@ -89,6 +90,12 @@ class RemoveInterface(policy.PolicyTargetMixin, tables.DeleteAction):
exceptions.handle(request, msg, redirect=redirect)
DISPLAY_CHOICES = (
("UP", pgettext_lazy("Admin state of a Port", u"UP")),
("DOWN", pgettext_lazy("Admin state of a Port", u"DOWN")),
)
class PortsTable(tables.DataTable):
name = tables.Column("name",
verbose_name=_("Name"),
@ -99,7 +106,8 @@ class PortsTable(tables.DataTable):
device_owner = tables.Column(get_device_owner,
verbose_name=_("Type"))
admin_state = tables.Column("admin_state",
verbose_name=_("Admin State"))
verbose_name=_("Admin State"),
display_choices=DISPLAY_CHOICES)
def get_object_display(self, port):
return port.id

View File

@ -34,8 +34,8 @@ class UpdateVPNService(forms.SelfHandlingForm):
widget=forms.TextInput(attrs={'readonly': 'readonly'}))
description = forms.CharField(
required=False, max_length=80, label=_("Description"))
# TODO(amotoki): make UP/DOWN translatable
admin_state_up = forms.ChoiceField(choices=[(True, 'UP'), (False, 'DOWN')],
admin_state_up = forms.ChoiceField(choices=[(True, _('UP')),
(False, _('DOWN'))],
label=_("Admin State"))
failure_url = 'horizon:project:vpn:index'
@ -258,8 +258,8 @@ class UpdateIPSecSiteConnection(forms.SelfHandlingForm):
label=_("Initiator state"),
choices=[('bi-directional', _('bi-directional')),
('response-only', _('response-only'))])
# TODO(amotoki): make UP/DOWN translatable
admin_state_up = forms.ChoiceField(choices=[(True, 'UP'), (False, 'DOWN')],
admin_state_up = forms.ChoiceField(choices=[(True, _('UP')),
(False, _('DOWN'))],
label=_("Admin State"))
failure_url = 'horizon:project:vpn:index'

View File

@ -28,8 +28,8 @@ class AddVPNServiceAction(workflows.Action):
max_length=80, label=_("Description"))
router_id = forms.ChoiceField(label=_("Router"))
subnet_id = forms.ChoiceField(label=_("Subnet"))
# TODO(amotoki): make UP/DOWN translatable
admin_state_up = forms.ChoiceField(choices=[(True, 'UP'), (False, 'DOWN')],
admin_state_up = forms.ChoiceField(choices=[(True, _('UP')),
(False, _('DOWN'))],
label=_("Admin State"),
help_text=_("The state to start in."))
@ -414,8 +414,8 @@ class AddIPSecSiteConnectionOptionalAction(workflows.Action):
initial=120,
help_text=_("Valid integer greater than the DPD interval"))
initiator = forms.ChoiceField(label=_("Initiator state"))
# TODO(amotoki): make UP/DOWN translatable
admin_state_up = forms.ChoiceField(choices=[(True, 'UP'), (False, 'DOWN')],
admin_state_up = forms.ChoiceField(choices=[(True, _('UP')),
(False, _('DOWN'))],
label=_("Admin State"),
help_text=_("The state to start in."))