Update UI with latest fixes and localization

reviewed-by: jessica
This commit is contained in:
Brian Federle 2012-02-13 17:37:38 -08:00
parent e687054e0c
commit f95f2b50dd
11 changed files with 850 additions and 800 deletions

View File

@ -1,3 +1,21 @@
label.full.path=Full path
message.add.domain=Please specify the subdomain you want to create under this domain
message.delete.user=Please confirm that you would like to delete this user.
message.enable.user=Please confirm that you would like to enable this user.
message.disable.user=Please confirm that you would like to disable this user.
message.generate.keys=Please confirm that you would like to generate new keys for this user.
message.update.resource.count=Please confirm that you want to update resource counts for this account.
message.edit.account=Edit ("-1" indicates no limit to the amount of resources create)
label.total.of.vm=Total of VM
label.total.of.ip=Total of IP Address
state.enabled=Enabled
message.action.download.iso=Please confirm that you want to download this ISO.
message.action.download.template=Please confirm that you want to download this template.
label.destination.zone=Destination Zone
label.keyboard.type=Keyboard type
label.nic.adapter.type=NIC adapter type
label.root.disk.controller=Root disk controller
label.community=Community
label.remove.egress.rule=Remove egress rule
label.add.egress.rule=Add egress rule
label.egress.rule=Egress rule
@ -407,7 +425,6 @@ label.add.primary.storage=Add Primary Storage
label.add.secondary.storage=Add Secondary Storage
label.add.security.group=Add Security Group
label.add.service.offering=Add Service Offering
label.add.system.service.offering=Add System Service Offering
label.add.template=Add Template
label.add.user=Add User
label.add.vlan=Add VLAN
@ -626,7 +643,6 @@ label.menu.physical.resources=Physical Resources
label.menu.running.instances=Running Instances
label.menu.security.groups=Security Groups
label.menu.service.offerings=Service Offerings
label.menu.system.service.offerings=System Service Offerings
label.menu.snapshots=Snapshots
label.menu.stopped.instances=Stopped Instances
label.menu.storage=Storage
@ -980,4 +996,21 @@ error.menu.select=Unable to perform action due to no items being selected.
error.mgmt.server.inaccessible=The Management Server is unaccessible. Please try again later.
error.session.expired=Your session has expired.
error.unresolved.internet.name=Your internet name cannot be resolved.
#cloudstack 2.2.Y (end) ********************************************************************************************
#Jes
message.add.system.service.offering=Please fill in the following data to add a new system service offering.
message.action.delete.system.service.offering=Please confirm that you want to delete this system service offering.
label.action.delete.system.service.offering=Delete System Service Offering
hypervisor.capabilities=Hypervisor capabilities
hypervisor.version=Hypervisor version
max.guest.limit=Max guest limit
security.group.enabled=Security group enabled
add.network.offering=Add network offering
supported.services=Supported Services
service.capabilities=Service Capabilities
guest.type=Guest Type
specify.IP.ranges=Specify IP ranges
conserve.mode=Conserve mode
created.by.system=Created by system
label.menu.system.service.offerings=System Service Offerings
label.add.system.service.offering=Add System Service Offering

View File

@ -862,4 +862,23 @@ error.menu.select=アイテムが選択されていないためアクション
error.mgmt.server.inaccessible=Management Serverにアクセスできません。後で、もう一度やり直してください
error.session.expired=セッション有効期限が切れています
error.unresolved.internet.name=名前解決に失敗しました
#cloudstack 2.2.Y (end) ********************************************************************************************
#cloudstack 2.2.Y (end) ********************************************************************************************
#Jes
message.add.system.service.offering=新しいシステム·サービスの提供を追加するには、次のデータを記入してください。
message.action.delete.system.service.offering=このシステムサービスの提供を削除することを確認してください。
label.action.delete.system.service.offering=削除システムサービスの提供
hypervisor.capabilities=機能をハイパーバイザ
hypervisor.version=のバージョンをハイパーバイザ
max.guest.limit=最大ゲストの制限
security.group.enabled=セキュリティグループが有効になって
add.network.offering=ネットワークの提供を追加します。
supported.services=サポートされているサービス
service.capabilities=サービス機能
guest.type=ゲストの種類
specify.IP.ranges=指定したIPの範囲
conserve.mode=モードを節約
created.by.system=システムによって作成され
label.menu.system.service.offerings=システムサービスの提供
label.add.system.service.offering=システムサービスの提供を追加します。

View File

@ -1599,6 +1599,25 @@
<script language="javascript">
dictionary = {
'label.add.vm': '<fmt:message key="label.add.vm"/>',
'label.full.path': '<fmt:message key="label.full.path"/>',
'message.add.domain': '<fmt:message key="message.add.domain"/>',
'message.delete.user': '<fmt:message key="message.delete.user"/>',
'message.enable.user': '<fmt:message key="message.enable.user"/>',
'message.disable.user': '<fmt:message key="message.disable.user"/>',
'message.generate.keys': '<fmt:message key="message.generate.keys"/>',
'message.update.resource.count': '<fmt:message key="message.update.resource.count"/>',
'message.edit.account': '<fmt:message key="message.edit.account"/>',
'label.totoal.of.ip': '<fmt:message key="label.totoal.of.ip"/>',
'label.total.of.vm': '<fmt:message key="label.total.of.vm"/>',
'state.enabled': '<fmt:message key="state.enabled"/>',
'message.action.download.iso': '<fmt:message key="message.action.download.iso"/>',
'message.action.download.template': '<fmt:message key="message.action.download.template"/>',
'label.destination.zone': '<fmt:message key="label.destination.zone"/>',
'label.nic.adapter.type': '<fmt:message key="label.nic.adapter.type"/>',
'label.keyboard.type': '<fmt:message key="label.keyboard.type"/>',
'label.root.disk.controller': '<fmt:message key="label.root.disk.controller"/>',
'label.community': '<fmt:message key="label.community"/>',
'label.remove.egress.rule': '<fmt:message key="label.remove.egress.rule"/>',
'label.add.egress.rule': '<fmt:message key="label.add.egress.rule"/>',
'label.egress.rule': '<fmt:message key="label.egress.rule"/>',
@ -2189,7 +2208,6 @@ dictionary = {
'label.menu.running.instances': '<fmt:message key="label.menu.running.instances" />',
'label.menu.security.groups': '<fmt:message key="label.menu.security.groups" />',
'label.menu.service.offerings': '<fmt:message key="label.menu.service.offerings" />',
'label.menu.system.service.offerings': '<fmt:message key="label.menu.system.service.offerings" />',
'label.menu.snapshots': '<fmt:message key="label.menu.snapshots" />',
'label.menu.stopped.instances': '<fmt:message key="label.menu.stopped.instances" />',
'label.menu.storage': '<fmt:message key="label.menu.storage" />',
@ -2539,6 +2557,22 @@ dictionary = {
'error.menu.select': '<fmt:message key="error.menu.select" />',
'error.mgmt.server.inaccessible': '<fmt:message key="error.mgmt.server.inaccessible" />',
'error.session.expired': '<fmt:message key="error.session.expired" />',
'error.unresolved.internet.name': '<fmt:message key="error.unresolved.internet.name" />'
'error.unresolved.internet.name': '<fmt:message key="error.unresolved.internet.name" />',
'message.add.system.service.offering': '<fmt:message key="message.add.system.service.offering" />', //Jes
'message.action.delete.system.service.offering': '<fmt:message key="message.action.delete.system.service.offering" />',
'label.action.delete.system.service.offering': '<fmt:message key="label.action.delete.system.service.offering" />',
'hypervisor.capabilities': '<fmt:message key="hypervisor.capabilities" />',
'hypervisor.version': '<fmt:message key="hypervisor.version" />',
'max.guest.limit': '<fmt:message key="max.guest.limit" />',
'security.group.enabled': '<fmt:message key="security.group.enabled" />',
'add.network.offering': '<fmt:message key="add.network.offering" />',
'supported.services': '<fmt:message key="supported.services" />',
'service.capabilities': '<fmt:message key="service.capabilities" />',
'guest.type': '<fmt:message key="guest.type" />',
'specify.IP.ranges': '<fmt:message key="specify.IP.ranges" />',
'conserve.mode': '<fmt:message key="conserve.mode" />',
'created.by.system': '<fmt:message key="created.by.system" />',
'label.menu.system.service.offerings': '<fmt:message key="label.menu.system.service.offerings" />',
'label.add.system.service.offering': '<fmt:message key="label.add.system.service.offering" />'
};
</script>

View File

@ -9,7 +9,7 @@
var adminUserId = 2;
cloudStack.sections.accounts = {
title: 'Accounts',
title: 'label.accounts',
id: 'accounts',
sectionSelect: {
label: 'Select View',
@ -21,75 +21,79 @@
accounts: {
type: 'select',
id: 'accounts',
title: 'Accounts',
title: 'label.accounts',
listView: {
id: 'accounts',
fields: {
name: { label: 'Name' },
name: { label: 'label.name' },
accounttype: {
label: 'Role',
label: 'label.role',
converter: function(args){
return cloudStack.converters.toRole(args);
}
},
domain: { label: 'Domain' },
domain: { label: 'label.domain' },
state: {
converter: function(str) {
// For localization
return str;
},
label: 'State',
indicator: { 'enabled': 'on', 'Destroyed': 'off', 'disabled': 'off' }
label: 'label.state',
converter: function(str) {
return 'state.' + str;
},
indicator: {
'enabled': 'on',
'Destroyed': 'off',
'disabled': 'off'
}
}
},
actions: {
add: {
label: 'Create account',
preFilter: function(args) {
if(isAdmin())
return true;
else
return false;
},
label: 'label.add.account',
preFilter: function(args) {
if(isAdmin())
return true;
else
return false;
},
messages: {
confirm: function(args) {
return 'Are you sure you want to create an account?';
},
notification: function(args) {
return 'Creating new account';
return 'label.add.account';
}
},
createForm: {
title: 'Create account',
desc: 'Please fill in the following data to create a new account.',
title: 'label.add.account',
desc: 'label.add.account',
fields: {
username: {
label: 'Username',
label: 'label.username',
validation: { required: true }
},
password: {
label: 'Password',
label: 'label.password',
validation: { required: true },
isPassword: true
},
email: {
label: 'Email',
label: 'label.email',
validation: { required: true }
},
firstname: {
label: 'First name',
label: 'label.first.name',
validation: { required: true }
},
lastname: {
label: 'Last name',
label: 'label.last.name',
validation: { required: true }
},
domainid: {
label: 'Domain',
label: 'label.domain',
validation: { required: true },
select: function(args) {
select: function(args) {
$.ajax({
url: createURL("listDomains&listAll=true"),
dataType: "json",
@ -106,10 +110,10 @@
}
},
account: {
label: 'Account'
label: 'label.account'
},
accounttype: {
label: 'Account type',
label: 'label.type',
validation: { required: true },
select: function(args) {
var items = [];
@ -119,7 +123,7 @@
}
},
timezone: {
label: 'Timezone',
label: 'label.timezone',
select: function(args) {
var items = [];
items.push({id: "", description: ""});
@ -128,8 +132,8 @@
args.response.success({data: items});
}
},
networkdomain: {
label: 'Network domain',
networkdomain: {
label: 'label.network.domain',
validation: { required: false }
}
}
@ -164,8 +168,8 @@
array1.push("&timezone=" + todb(args.data.timezone));
if(args.data.networkdomain != null && args.data.networkdomain.length > 0)
array1.push("&networkdomain=" + todb(args.data.networkdomain));
array1.push("&networkdomain=" + todb(args.data.networkdomain));
$.ajax({
url: createURL("createAccount" + array1.join("")),
dataType: "json",
@ -187,22 +191,22 @@
});
}
}
}
}
},
dataProvider: function(args) {
var array1 = [];
if(args.filterBy != null) {
if(args.filterBy.search != null && args.filterBy.search.by != null && args.filterBy.search.value != null) {
switch(args.filterBy.search.by) {
case "name":
if(args.filterBy.search.value.length > 0)
array1.push("&keyword=" + args.filterBy.search.value);
break;
}
}
}
if(args.filterBy != null) {
if(args.filterBy.search != null && args.filterBy.search.by != null && args.filterBy.search.value != null) {
switch(args.filterBy.search.by) {
case "name":
if(args.filterBy.search.value.length > 0)
array1.push("&keyword=" + args.filterBy.search.value);
break;
}
}
}
if("domains" in args.context)
array1.push("&domainid=" + args.context.domains[0].id);
$.ajax({
@ -221,16 +225,16 @@
detailView: {
name: 'Account details',
viewAll: { path: 'accounts.users', label: 'Users' },
viewAll: { path: 'accounts.users', label: 'label.users' },
actions: {
edit: {
label: 'Edit ("-1" indicates no limit to the amount of resources create)',
label: 'message.edit.account',
action: function(args) {
var accountObj = args.context.accounts[0];
var array1 = [];
array1.push("&newname=" + todb(args.data.name));
var array1 = [];
array1.push("&newname=" + todb(args.data.name));
array1.push("&networkdomain=" + todb(args.data.networkdomain));
$.ajax({
url: createURL("updateAccount&domainid=" + accountObj.domainid + "&account=" + accountObj.name + array1.join("")),
@ -291,13 +295,13 @@
},
updateResourceCount: {
label: 'Update Resource Count',
label: 'label.action.update.resource.count',
messages: {
confirm: function(args) {
return 'Are you sure you want to update resource count ?';
return 'message.update.resource.count';
},
notification: function(args) {
return 'Updating resource count';
return 'label.action.update.resource.count';
}
},
action: function(args) {
@ -308,6 +312,10 @@
async: true,
success: function(json) {
//var resourcecounts= json.updateresourcecountresponse.resourcecount; //do nothing
args.response.success();
},
error: function(json) {
args.response.error(parseXMLHttpResponse(json));
}
});
},
@ -319,13 +327,13 @@
},
disable: {
label: 'Disable account',
label: 'label.action.disable.account',
messages: {
confirm: function(args) {
return 'Are you sure you want to disable this account?';
return 'message.disable.account';
},
notification: function(args) {
return 'Disabling account';
return 'label.action.disable.account';
}
},
action: function(args) {
@ -357,13 +365,13 @@
},
lock: {
label: 'Lock account',
label: 'label.action.lock.account',
messages: {
confirm: function(args) {
return 'Are you sure you want to lock this account?';
return 'message.lock.account';
},
notification: function(args) {
return 'Locking account';
return 'label.action.lock.account';
}
},
action: function(args) {
@ -395,13 +403,13 @@
},
enable: {
label: 'Enable account',
label: 'label.action.enable.account',
messages: {
confirm: function(args) {
return 'Are you sure you want to enable this account?';
return 'message.enable.account';
},
notification: function(args) {
return 'Enabling account';
return 'label.action.enable.account';
}
},
action: function(args) {
@ -425,13 +433,13 @@
},
destroy: {
label: 'Delete account',
label: 'label.action.delete.account',
messages: {
confirm: function(args) {
return 'Are you sure you want to delete this account?';
return 'message.delete.account';
},
notification: function(args) {
return 'Deleting account';
return 'label.action.delete.account';
}
},
action: function(args) {
@ -465,54 +473,54 @@
tabs: {
details: {
title: 'details',
title: 'label.details',
fields: [
{
name: {
label: 'Name',
label: 'label.name',
isEditable: true
}
},
{
id: { label: 'ID' },
accounttype: {
label: 'Role',
label: 'label.role',
converter: function(args){
return cloudStack.converters.toRole(args);
}
},
domain: { label: 'Domain' },
state: { label: 'State' },
networkdomain: {
label: 'Network domain',
domain: { label: 'label.domain' },
state: { label: 'label.state' },
networkdomain: {
label: 'label.network.domain',
isEditable: true
},
},
vmLimit: {
label: 'Instance limits',
label: 'label.instance.limits',
isEditable: true
},
ipLimit: {
label: 'Public IP limits',
label: 'label.ip.limits',
isEditable: true
},
volumeLimit: {
label: 'Volume limits',
label: 'label.volume.limits',
isEditable: true
},
snapshotLimit: {
label: 'Snapshot limits',
label: 'label.snapshot.limits',
isEditable: true
},
templateLimit: {
label: 'Template limits',
label: 'label.template.limits',
isEditable: true
},
vmtotal: { label: 'Total of VM' },
iptotal: { label: 'Total of IP Address' },
vmtotal: { label: 'label.total.of.vm' },
iptotal: { label: 'label.totoal.of.ip' },
receivedbytes: {
label: 'Bytes received',
label: 'label.bytes.received',
converter: function(args) {
if (args == null || args == 0)
return "";
@ -521,7 +529,7 @@
}
},
sentbytes: {
label: 'Bytes sent',
label: 'label.bytes.sent',
converter: function(args) {
if (args == null || args == 0)
return "";
@ -581,27 +589,27 @@
users: {
type: 'select',
id: 'users',
title: 'Users',
title: 'label.users',
listView: {
id: 'users',
fields: {
username: { label: 'Username', editable: true },
firstname: { label: 'First name' },
lastname: { label: 'Last name' }
username: { label: 'label.username', editable: true },
firstname: { label: 'label.first.name' },
lastname: { label: 'label.last.name' }
},
dataProvider: function(args) {
var array1 = [];
if(args.filterBy != null) {
if(args.filterBy.search != null && args.filterBy.search.by != null && args.filterBy.search.value != null) {
switch(args.filterBy.search.by) {
case "name":
if(args.filterBy.search.value.length > 0)
array1.push("&keyword=" + args.filterBy.search.value);
break;
}
}
}
dataProvider: function(args) {
var array1 = [];
if(args.filterBy != null) {
if(args.filterBy.search != null && args.filterBy.search.by != null && args.filterBy.search.value != null) {
switch(args.filterBy.search.by) {
case "name":
if(args.filterBy.search.value.length > 0)
array1.push("&keyword=" + args.filterBy.search.value);
break;
}
}
}
var accountObj = args.context.accounts[0];
$.ajax({
url: createURL("listUsers&domainid=" + accountObj.domainid + "&account=" + accountObj.name + "&page=" + args.page + "&pagesize=" + pageSize + array1.join("")),
@ -616,50 +624,47 @@
},
actions: {
add: {
label: 'Create user',
label: 'label.add.user',
preFilter: function(args) {
if(isAdmin())
return true;
else
return false;
},
preFilter: function(args) {
if(isAdmin())
return true;
else
return false;
},
messages: {
confirm: function(args) {
return 'Are you sure you want to create an user?';
},
notification: function(args) {
return 'Creating new user';
return 'label.add.user';
}
},
createForm: {
title: 'Create user',
title: 'label.add.user',
fields: {
username: {
label: 'Username',
label: 'label.username',
validation: { required: true }
},
password: {
label: 'Password',
label: 'label.password',
isPassword: true,
validation: { required: true }
},
email: {
label: 'Email',
label: 'label.email',
validation: { required: true }
},
firstname: {
label: 'First name',
label: 'label.first.name',
validation: { required: true }
},
lastname: {
label: 'Last name',
label: 'label.last.name',
validation: { required: true }
},
timezone: {
label: 'Timezone',
label: 'label.timezone',
select: function(args) {
var items = [];
items.push({id: "", description: ""});
@ -680,8 +685,8 @@
var password = args.data.password;
if (md5Hashed)
password = $.md5(password);
else
password = todb(password);
else
password = todb(password);
array1.push("&password=" + password);
array1.push("&email=" + todb(args.data.email));
@ -720,7 +725,7 @@
name: 'User details',
actions: {
edit: {
label: 'Edit',
label: 'label.edit',
action: function(args) {
var array1 = [];
array1.push("&username=" + todb(args.data.username));
@ -741,31 +746,28 @@
},
changePassword: {
label: 'Change password',
label: 'label.action.change.password',
messages: {
confirm: function(args) {
return 'Are you sure you want to change password?';
},
notification: function(args) {
return 'Changing password';
return 'label.action.change.password';
}
},
createForm: {
label: 'Change password',
label: 'label.action.change.password',
fields: {
newPassword: {
label: 'New password',
isPassword: true,
validation: { required: true }
}
newPassword: {
label: 'label.new.password',
isPassword: true,
validation: { required: true }
}
}
},
action: function(args) {
var password = args.data.newPassword;
if (md5Hashed)
password = $.md5(password);
else
password = todb(password);
else
password = todb(password);
$.ajax({
url: createURL("updateUser&id=" + args.context.users[0].id + "&password=" + password),
dataType: "json",
@ -783,13 +785,13 @@
},
generateKeys: {
label: 'Generate keys',
label: 'label.action.generate.keys',
messages: {
confirm: function(args) {
return 'Are you sure you want to generate keys?';
return 'message.generate.keys';
},
notification: function(args) {
return 'Generating keys';
return 'label.action.generate.keys';
}
},
action: function(args) {
@ -810,13 +812,13 @@
},
disable: {
label: 'Disable user',
label: 'label.action.disable.user',
messages: {
confirm: function(args) {
return 'Are you sure you want to disable this user?';
return 'message.disable.user';
},
notification: function(args) {
return 'Disabling user';
return 'label.action.disable.user';
}
},
action: function(args) {
@ -847,13 +849,13 @@
},
enable: {
label: 'Enable user',
label: 'label.action.enable.user',
messages: {
confirm: function(args) {
return 'Are you sure you want to enable this user?';
return 'message.enable.user';
},
notification: function(args) {
return 'Enabling user';
return 'label.action.enable.user';
}
},
action: function(args) {
@ -863,6 +865,9 @@
async: true,
success: function(json) {
args.response.success({data: json.enableuserresponse.user});
},
error: function(json) {
args.response.error(parseXMLHttpResponse(json));
}
});
},
@ -874,13 +879,13 @@
},
'delete': {
label: 'Delete user',
label: 'label.action.delete.user',
messages: {
confirm: function(args) {
return 'Are you sure you want to delete this user?';
return 'message.delete.user';
},
notification: function(args) {
return 'Deleting user';
return 'label.action.delete.user';
}
},
action: function(args) {
@ -897,46 +902,45 @@
}
}
}
},
tabs: {
details: {
title: 'details',
title: 'label.details',
fields: [
{
username: {
label: 'Name',
label: 'label.name',
isEditable: true
}
},
{
id: { label: 'ID' },
state: { label: 'State' },
apikey: { label: 'API key' },
secretkey: { label: 'Secret key' },
account: { label: 'Account name' },
state: { label: 'label.state' },
apikey: { label: 'label.api.key' },
secretkey: { label: 'label.secret.key' },
account: { label: 'label.account.name' },
accounttype: {
label: 'Role',
label: 'label.role',
converter: function(args) {
return cloudStack.converters.toRole(args);
}
},
domain: { label: 'Domain' },
domain: { label: 'label.domain' },
email: {
label: 'Email',
label: 'label.email',
isEditable: true
},
firstname: {
label: 'First name',
label: 'label.first.name',
isEditable: true
},
lastname: {
label: 'Last name',
label: 'label.last.name',
isEditable: true
},
timezone: {
label: 'Timezone',
label: 'label.timezone',
converter: function(args) {
if(args == null || args.length == 0)
return "";

View File

@ -4,51 +4,51 @@
var networkServiceObjs = [], serviceCheckboxNames = [];
cloudStack.sections.configuration = {
title: 'Configuration',
title: 'label.configuration',
id: 'configuration',
sectionSelect: {
label: 'Select view'
label: 'label.select-view'
},
sections: {
serviceOfferings: {
type: 'select',
title: 'Service offerings',
title: 'label.menu.service.offerings',
listView: {
id: 'serviceOfferings',
label: 'Service offerings',
label: 'label.menu.service.offerings',
fields: {
name: { label: 'Name', editable: true },
displaytext: { label: 'Description' }
name: { label: 'label.name', editable: true },
displaytext: { label: 'label.description' }
},
reorder: cloudStack.api.actions.sort('updateServiceOffering', 'serviceOfferings'),
actions: {
add: {
label: 'Add service offering',
label: 'label.add.service.offering',
messages: {
confirm: function(args) {
return 'Are you sure you want to add a service offering?';
return 'message.add.service.offering';
},
notification: function(args) {
return 'Creating new service offering';
return 'label.add.service.offering';
}
},
createForm: {
title: 'Add service offering',
title: 'label.add.service.offering',
fields: {
name: {
label: 'Name',
label: 'label.name',
validation: { required: true }
},
description: {
label: 'Description',
label: 'label.description',
validation: { required: true }
},
storageType: {
label: 'Storage type',
label: 'label.storage.type',
select: function(args) {
var items = [];
items.push({id: 'shared', description: 'shared'});
@ -57,57 +57,57 @@
}
},
cpuNumber: {
label: '# of CPU cores',
label: 'label.num.cpu.cores',
validation: {
required: true,
number: true
}
},
cpuSpeed: {
label: 'CPU (in MHz)',
label: 'label.cpu.mhz',
validation: {
required: true,
number: true
}
},
memory: {
label: 'Memory (in MB)',
label: 'label.memory.mb',
validation: {
required: true,
number: true
}
},
networkRate: {
label: 'Network rate',
label: 'label.network.rate',
validation: {
required: false, //optional
number: true
}
},
offerHA: {
label: 'Offer HA',
label: 'label.offer.ha',
isBoolean: true,
isChecked: false
},
storageTags: {
label: 'Storage tags'
label: 'label.storage.tags'
},
hostTags: {
label: 'Host tags'
label: 'label.host.tags'
},
cpuCap: {
label: 'CPU cap',
label: 'label.CPU.cap',
isBoolean: true,
isChecked: false
},
isPublic: {
label: 'Public',
label: 'label.public',
isBoolean: true,
isReverse: true,
isChecked: true
},
domainId: {
label: 'Domain',
label: 'label.domain',
dependsOn: 'isPublic',
select: function(args) {
$.ajax({
@ -210,7 +210,7 @@
name: 'Service offering details',
actions: {
edit: {
label: 'Edit',
label: 'label.edit',
action: function(args) {
var array1 = [];
array1.push("&name=" + todb(args.data.name));
@ -230,13 +230,13 @@
},
'delete': {
label: 'Delete service offering',
label: 'label.action.delete.service.offering',
messages: {
confirm: function(args) {
return 'Are you sure you want to delete this service offering?';
return 'message.action.delete.service.offering';
},
notification: function(args) {
return 'Deleting service offering';
return 'label.action.delete.service.offering';
}
},
action: function(args) {
@ -262,48 +262,48 @@
tabs: {
details: {
title: 'Details',
title: 'label.details',
fields: [
{
name: {
label: 'Name',
label: 'label.name',
isEditable: true
}
},
{
id: { label: 'ID' },
id: { label: 'label.id' },
displaytext: {
label: 'Description',
label: 'label.description',
isEditable: true
},
storagetype: { label: 'Storage Type' },
cpunumber: { label: 'CPU number' },
storagetype: { label: 'label.storage.type' },
cpunumber: { label: 'label.num.cpu.cores' },
cpuspeed: {
label: 'CPU speed',
label: 'label.cpu.mhz',
converter: function(args) {
return cloudStack.converters.convertHz(args);
}
},
memory: {
label: 'Memory',
label: 'label.memory.mb',
converter: function(args) {
return cloudStack.converters.convertBytes(args*1024*1024);
}
},
networkrate: { label: 'Network rate' },
networkrate: { label: 'label.network.rate' },
offerha: {
label: 'Offer HA',
label: 'label.offer.ha',
converter: cloudStack.converters.toBooleanText
},
limitcpuuse: {
label: 'CPU cap',
label: 'label.CPU.cap',
converter: cloudStack.converters.toBooleanText
},
tags: { label: 'Storage tags' },
hosttags: { label: 'Host tags' },
domain: { label: 'Domain' },
created: { label: 'Created', converter: cloudStack.converters.toLocalDate }
tags: { label: 'label.storage.tags' },
hosttags: { label: 'label.host.tags' },
domain: { label: 'label.domain' },
created: { label: 'label.created', converter: cloudStack.converters.toLocalDate }
}
],
@ -323,43 +323,48 @@
systemServiceOfferings: {
type: 'select',
title: 'System service offerings',
title: 'label.menu.system.service.offerings',
listView: {
id: 'systemServiceOfferings',
label: 'System service offerings',
label: 'label.menu.system.service.offerings',
fields: {
name: { label: 'Name', editable: true },
displaytext: { label: 'Description' }
name: {
label: 'label.name',
editable: true
},
displaytext: {
label: 'label.description'
}
},
reorder: cloudStack.api.actions.sort('updateServiceOffering', 'systemServiceOfferings'),
actions: {
add: {
label: 'Add system service offering',
label: 'label.add.system.service.offering',
messages: {
confirm: function(args) {
return 'Are you sure you want to add a system service offering?';
return 'message.add.system.service.offering';
},
notification: function(args) {
return 'Creating new system service offering';
return 'label.add.system.service.offering';
}
},
createForm: {
title: 'Add system service offering',
title: 'label.add.system.service.offering',
fields: {
name: {
label: 'Name',
label: 'label.name',
validation: { required: true }
},
description: {
label: 'Description',
label: 'label.description',
validation: { required: true }
},
storageType: {
label: 'Storage type',
label: 'label.storage.type',
select: function(args) {
var items = [];
items.push({id: 'shared', description: 'shared'});
@ -368,57 +373,57 @@
}
},
cpuNumber: {
label: '# of CPU cores',
label: 'label.num.cpu.cores',
validation: {
required: true,
number: true
}
},
cpuSpeed: {
label: 'CPU (in MHz)',
label: 'label.cpu.mhz',
validation: {
required: true,
number: true
}
},
memory: {
label: 'Memory (in MB)',
label: 'label.memory.mb',
validation: {
required: true,
number: true
}
},
networkRate: {
label: 'Network rate',
label: 'label.network.rate',
validation: {
required: false, //optional
number: true
}
},
offerHA: {
label: 'Offer HA',
label: 'label.offer.ha',
isBoolean: true,
isChecked: false
},
storageTags: {
label: 'Storage tags'
label: 'label.storage.tags'
},
hostTags: {
label: 'Host tags'
label: 'label.host.tags'
},
cpuCap: {
label: 'CPU cap',
label: 'label.CPU.cap',
isBoolean: true,
isChecked: false
},
isPublic: {
label: 'Public',
label: 'label.public',
isBoolean: true,
isReverse: true,
isChecked: true
},
domainId: {
label: 'Domain',
label: 'label.domain',
dependsOn: 'isPublic',
select: function(args) {
$.ajax({
@ -518,7 +523,7 @@
name: 'System service offering details',
actions: {
edit: {
label: 'Edit',
label: 'label.edit',
action: function(args) {
var array1 = [];
array1.push("&name=" + todb(args.data.name));
@ -538,13 +543,13 @@
},
'delete': {
label: 'Delete system service offering',
label: 'label.action.delete.system.service.offering',
messages: {
confirm: function(args) {
return 'Are you sure you want to delete this system service offering?';
return 'message.action.delete.system.service.offering';
},
notification: function(args) {
return 'Deleting system service offering';
return 'label.action.delete.system.service.offering';
}
},
action: function(args) {
@ -570,48 +575,48 @@
tabs: {
details: {
title: 'Details',
title: 'label.details',
fields: [
{
name: {
label: 'Name',
label: 'label.name',
isEditable: true
}
},
{
id: { label: 'ID' },
id: { label: 'label.id' },
displaytext: {
label: 'Description',
label: 'label.description',
isEditable: true
},
storagetype: { label: 'Storage Type' },
cpunumber: { label: 'CPU number' },
storagetype: { label: 'label.storage.type' },
cpunumber: { label: 'label.num.cpu.cores' },
cpuspeed: {
label: 'CPU speed',
label: 'label.cpu.mhz',
converter: function(args) {
return cloudStack.converters.convertHz(args);
}
},
memory: {
label: 'Memory',
label: 'label.memory.mb',
converter: function(args) {
return cloudStack.converters.convertBytes(args*1024*1024);
}
},
networkrate: { label: 'Network rate' },
networkrate: { label: 'label.network.rate' },
offerha: {
label: 'Offer HA',
label: 'label.offer.ha',
converter: cloudStack.converters.toBooleanText
},
limitcpuuse: {
label: 'CPU cap',
label: 'label.CPU.cap',
converter: cloudStack.converters.toBooleanText
},
tags: { label: 'Storage tags' },
hosttags: { label: 'Host tags' },
domain: { label: 'Domain' },
created: { label: 'Created', converter: cloudStack.converters.toLocalDate }
tags: { label: 'label.storage.tags' },
hosttags: { label: 'label.host.tags' },
domain: { label: 'label.domain' },
created: { label: 'label.created', converter: cloudStack.converters.toLocalDate }
}
],
@ -631,22 +636,22 @@
diskOfferings: {
type: 'select',
title: 'Disk offerings',
title: 'label.menu.disk.offerings',
listView: {
id: 'diskOfferings',
label: 'Disk offerings',
label: 'label.menu.disk.offerings',
fields: {
name: { label: 'Name' },
displaytext: { label: 'Description' },
name: { label: 'label.name' },
displaytext: { label: 'label.description' },
iscustomized: {
label: 'Custom disk size',
label: 'label.custom.disk.size',
converter: cloudStack.converters.toBooleanText
},
disksize: {
label: 'Disk Size',
label: 'label.disk.size.gb',
converter: function(args) {
if(args != 0)
return args + " GB";
return args;
else
return "N/A";
}
@ -684,50 +689,50 @@
actions: {
add: {
label: 'Add disk offering',
label: 'label.add.disk.offering',
messages: {
confirm: function(args) {
return 'Are you sure you want to add a disk offering?';
return 'message.add.disk.offering';
},
notification: function(args) {
return 'Creating new disk offering';
return 'label.add.disk.offering';
}
},
createForm: {
title: 'Add disk offering',
title: 'label.add.disk.offering',
fields: {
name: {
label: 'Name',
label: 'label.name',
validation: { required: true }
},
description: {
label: 'Description',
label: 'label.description',
validation: { required: true }
},
isCustomized: {
label: 'Custom disk size',
label: 'label.custom.disk.size',
isBoolean: true,
isReverse: true,
isChecked: false
},
disksize: {
label: 'Disk size (in GB)',
label: 'label.disk.size.gb',
dependsOn: 'isCustomized',
validation: { required: true, number: true }
},
tags: {
label: 'Storage tags'
label: 'label.storage.tags'
},
isPublic: {
label: 'Public',
label: 'label.public',
isBoolean: true,
isReverse: true,
isChecked: true
},
domainId: {
label: 'Domain',
label: 'label.domain',
dependsOn: 'isPublic',
select: function(args) {
$.ajax({
@ -790,7 +795,7 @@
name: 'Disk offering details',
actions: {
edit: {
label: 'Edit',
label: 'label.edit',
action: function(args) {
var array1 = [];
array1.push("&name=" + todb(args.data.name));
@ -810,13 +815,13 @@
},
'delete': {
label: 'Delete disk offering',
label: 'label.action.delete.disk.offering',
messages: {
confirm: function(args) {
return 'Are you sure you want to delete this disk offering?';
return 'message.action.delete.disk.offering';
},
notification: function(args) {
return 'Deleting disk offering';
return 'label.action.delete.disk.offering';
}
},
action: function(args) {
@ -842,36 +847,36 @@
tabs: {
details: {
title: 'Details',
title: 'label.details',
fields: [
{
name: {
label: 'Name',
label: 'label.name',
isEditable: true
}
},
{
id: { label: 'ID' },
id: { label: 'label.id' },
displaytext: {
label: 'Description',
label: 'label.description',
isEditable: true
},
iscustomized: {
label: 'Custom disk size',
label: 'label.custom.disk.size',
converter: cloudStack.converters.toBooleanText
},
disksize: {
label: 'Disk Size',
label: 'label.disk.size.gb',
converter: function(args) {
if(args != 0)
return args + " GB";
return args;
else
return "N/A";
}
},
tags: { label: 'Storage tags' },
domain: { label: 'Domain' }
tags: { label: 'label.storage.tags' },
domain: { label: 'label.domain' }
}
],
@ -891,14 +896,14 @@
hypervisorCapabilities: {
type: 'select',
title: 'Hypervisor capabilities',
title: 'hypervisor.capabilities',
listView: {
id: 'hypervisorCapabilities',
label: 'Hypervisor capabilities',
label: 'hypervisor.capabilities',
fields: {
hypervisor: { label: 'Hypervisor' },
hypervisorversion: { label: 'Hypervisor version' },
maxguestslimit: { label: 'Max guest limit' }
hypervisor: { label: 'label.hypervisor' },
hypervisorversion: { label: 'hypervisor.version' },
maxguestslimit: { label: 'max.guest.limit' }
},
dataProvider: function(args) {
var array1 = [];
@ -928,10 +933,10 @@
},
detailView: {
name: 'Details',
name: 'label.details',
actions: {
edit: {
label: 'Edit',
label: 'label.edit',
action: function(args) {
var array1 = [];
array1.push("&maxguestslimit=" + todb(args.data.maxguestslimit));
@ -952,18 +957,18 @@
tabs: {
details: {
title: 'Details',
title: 'label.details',
fields: [
{
id: { label: 'ID' },
hypervisor: { label: 'Hypervisor' },
hypervisorversion: { label: 'Hypervisor version' },
id: { label: 'label.id' },
hypervisor: { label: 'label.hypervisor' },
hypervisorversion: { label: 'hypervisor.version' },
maxguestslimit: {
label: 'Max guest limit',
label: 'max.guest.limit',
isEditable: true
},
securitygroupenabled: {
label: 'Security group enabled',
label: 'security.group.enabled',
converter: cloudStack.converters.toBooleanText
}
}
@ -983,18 +988,18 @@
networkOfferings: {
type: 'select',
title: 'Network offerings',
title: 'label.menu.network.offerings',
listView: {
id: 'networkOfferings',
label: 'Network offerings',
label: 'label.menu.network.offerings',
fields: {
name: { label: 'Name' },
name: { label: 'label.name' },
state: {
converter: function(str) {
// For localization
return str;
},
label: 'State', indicator: { 'Enabled': 'on', 'Disabled': 'off', 'Destroyed': 'off' }
label: 'label.state', indicator: { 'Enabled': 'on', 'Disabled': 'off', 'Destroyed': 'off' }
}
},
@ -1042,11 +1047,10 @@
actions: {
add: {
label: 'Add network offering',
label: 'add.network.offering',
createForm: {
title: 'Add network offering',
desc: 'Please specify the network offering',
title: 'add.network.offering',
preFilter: function(args) {
var $availability = args.$form.find('.form-item[rel=availability]');
var $serviceOfferingId = args.$form.find('.form-item[rel=serviceOfferingId]');
@ -1084,14 +1088,14 @@
});
},
fields: {
name: { label: 'Name', validation: { required: true } },
name: { label: 'label.name', validation: { required: true } },
displayText: { label: 'Display Text', validation: { required: true } },
displayText: { label: 'label.description', validation: { required: true } },
networkRate: { label: 'Network Rate' },
networkRate: { label: 'label.network.rate' },
trafficType: {
label: 'Traffic Type', validation: { required: true },
label: 'label.traffic.type', validation: { required: true },
select: function(args) {
args.response.success({
data: [
@ -1102,7 +1106,7 @@
},
guestIpType: {
label: 'Guest Type',
label: 'guest.type',
select: function(args) {
args.response.success({
data: [
@ -1123,10 +1127,10 @@
}
},
specifyVlan: { label: 'Specify VLAN', isBoolean: true },
specifyVlan: { label: 'label.specify.vlan', isBoolean: true },
supportedServices: {
label: 'Supported Services',
label: 'supported.services',
dynamic: function(args) {
$.ajax({
@ -1323,12 +1327,12 @@
//show or hide upon checked services and selected providers above (end)
conservemode: { label: 'Conserve mode', isBoolean: true },
conservemode: { label: 'conserve.mode', isBoolean: true },
tags: { label: 'Tags' },
tags: { label: 'label.tags' },
availability: {
label: 'Availability',
label: 'label.availability',
isHidden: true,
select: function(args) {
args.response.success({
@ -1483,7 +1487,7 @@
name: 'Network offering details',
actions: {
edit: {
label: 'Edit',
label: 'label.edit',
action: function(args) {
var array1 = [];
array1.push("&name=" + todb(args.data.name));
@ -1611,27 +1615,27 @@
},
tabs: {
details: {
title: 'Details',
title: 'label.details',
fields: [
{
name: {
label: 'Name',
label: 'label.name',
isEditable: true
}
},
{
id: { label: 'ID' },
id: { label: 'label.id' },
displaytext: {
label: 'Description',
label: 'label.description',
isEditable: true
},
state: { label: 'State' },
state: { label: 'label.state' },
guestiptype: {
label: 'Guest type'
label: 'guest.type'
},
availability: {
label: 'Availability',
label: 'label.availability',
isEditable: true,
select: function(args) {
var items = [];
@ -1642,23 +1646,23 @@
}
},
isdefault: { //created by system by default
label: 'Created by system',
label: 'created.by.system',
converter: cloudStack.converters.toBooleanText
},
specifyvlan: {
label: 'Specify VLAN',
label: 'label.specify.vlan',
converter: cloudStack.converters.toBooleanText
},
specifyipranges: {
label: 'Specify IP ranges',
label: 'specify.IP.ranges',
converter: cloudStack.converters.toBooleanText
},
conservemode: {
label: 'Conserve mode',
label: 'conserve.mode',
converter: cloudStack.converters.toBooleanText
},
networkrate: {
label: 'Network rate',
label: 'label.network.rate',
converter: function(args) {
var networkRate = args;
if (args == null || args == -1) {
@ -1671,13 +1675,13 @@
}
},
traffictype: {
label: 'Traffic type'
label: 'label.traffic.type'
},
supportedServices: {
label: 'Services'
label: 'supported.services'
},
serviceCapabilities: {
label: 'Service Capabilities'
label: 'service.capabilities'
}
}
],

View File

@ -1,6 +1,6 @@
(function(cloudStack) {
cloudStack.sections.domains = {
title: 'Domains',
title: 'label.menu.domains',
id: 'domains',
// Domain tree
@ -9,26 +9,24 @@
detailView: {
name: 'Domain details',
viewAll: {
label: 'Accounts',
label: 'label.accounts',
path: 'accounts'
},
// Detail actions
actions: {
'delete': {
label: 'Delete domain',
label: 'label.action.delete.domain',
messages: {
confirm: function(args) {
return 'Are you sure you want to delete this domain?'
},
notification: function(args) {
return 'Domain is deleted';
return 'label.action.delete.domain';
}
},
createForm: {
title: 'Delete domain',
createLabel: 'Delete',
title: 'label.action.delete.domain',
desc: 'message.action.delete.domain',
createLabel: 'label.delete',
preFilter: function(args) {
if(isAdmin()) {
args.$form.find('.form-item[rel=isForced]').css('display', 'inline-block');
@ -36,7 +34,7 @@
},
fields: {
isForced: {
label: 'Force delete',
label: 'force.delete',
isBoolean: true,
isHidden: true
}
@ -75,10 +73,10 @@
// Edit domain
edit: {
label: 'Edit domain details',
label: 'label.action.edit.domain',
messages: {
notification: function(args) {
return 'Edited domain: ' + args.name;
return 'label.action.edit.domain';
}
},
action: function(args) {
@ -142,7 +140,7 @@
// Add domain
create: {
label: 'Add domain',
label: 'label.add.domain',
action: function(args) {
var array1 = [];
@ -164,20 +162,20 @@
messages: {
notification: function(args) {
return 'Created domain'
return 'label.add.domain';
}
},
createForm: {
title: 'Add subdomain',
desc: 'Please specify the subdomain you want to create under this domain',
title: 'label.add.domain',
desc: 'message.add.domain',
fields: {
name: {
label: 'Name',
label: 'label.name',
validation: { required: true }
},
networkdomain: {
label: 'Network Domain',
label: 'label.network.domain',
validation: { required: false }
}
}
@ -186,43 +184,43 @@
},
tabs: {
details: {
title: 'Details',
title: 'label.details',
fields: [
{
name: { label: 'Name', isEditable: true }
name: { label: 'label.name', isEditable: true }
},
{
id: { label: 'ID' },
path: { label: 'Full path'},
path: { label: 'label.full.path' },
networkdomain: {
label: 'Network domain',
label: 'label.network.domain',
isEditable: true
},
vmLimit: {
label: 'Instance limits',
label: 'label.instance.limits',
isEditable: true
},
ipLimit: {
label: 'Public IP limits',
label: 'label.ip.limits',
isEditable: true
},
volumeLimit: {
label: 'Volume limits',
label: 'label.volume.limits',
isEditable: true
},
snapshotLimit: {
label: 'Snapshot limits',
label: 'label.snapshot.limits',
isEditable: true
},
templateLimit: {
label: 'Template limits',
label: 'label.template.limits',
isEditable: true
},
accountTotal: { label: 'Accounts' },
vmTotal: { label: 'Instances' },
volumeTotal: { label: 'Volumes' }
accountTotal: { label: 'label.accounts' },
vmTotal: { label: 'label.instances' },
volumeTotal: { label: 'label.volumes' }
}
],
dataProvider: function(args) {

View File

@ -1,6 +1,6 @@
(function(cloudStack) {
cloudStack.sections.events = {
title: 'Events',
title: 'label.menu.events',
id: 'events',
sectionSelect: {
preFilter: function(args) {
@ -9,20 +9,20 @@
else
return ["events"];
},
label: 'Select view'
label: 'label.select-view'
},
sections: {
events: {
type: 'select',
title: 'Events',
title: 'label.menu.events',
listView: {
id: 'events',
label: 'Events',
label: 'label.menu.events',
fields: {
type: { label: 'Type' },
description: { label: 'Description' },
username: { label: 'Initiated By' },
created: { label: 'Date', converter: cloudStack.converters.toLocalDate }
type: { label: 'label.type' },
description: { label: 'label.description' },
username: { label: 'label.initiated.by' },
created: { label: 'label.date', converter: cloudStack.converters.toLocalDate }
},
dataProvider: function(args) {
var array1 = [];
@ -48,15 +48,15 @@
});
},
detailView: {
name: 'Event details',
name: 'label.details',
tabs: {
details: {
title: 'Details',
title: 'label.details',
fields: [
{
type: { label: 'Type' },
description: { label: 'Description' },
created: { label: 'Date', converter: cloudStack.converters.toLocalDate }
type: { label: 'label.type' },
description: { label: 'label.description' },
created: { label: 'label.date', converter: cloudStack.converters.toLocalDate }
}
],
dataProvider: function(args) {
@ -69,13 +69,13 @@
},
alerts: {
type: 'select',
title: 'Alerts',
title: 'label.menu.alerts',
listView: {
id: 'alerts',
label: 'Alerts',
label: 'label.menu.alerts',
fields: {
description: { label: 'Description' },
sent: { label: 'Date', converter: cloudStack.converters.toLocalDate }
description: { label: 'label.description' },
sent: { label: 'label.date', converter: cloudStack.converters.toLocalDate }
},
dataProvider: function(args) {
var array1 = [];
@ -103,12 +103,12 @@
name: 'Alert details',
tabs: {
details: {
title: 'Details',
title: 'label.details',
fields: [
{
id: { label: 'ID' },
description: { label: 'Description' },
sent: { label: 'Date', converter: cloudStack.converters.toLocalDate }
description: { label: 'label.description' },
sent: { label: 'label.date', converter: cloudStack.converters.toLocalDate }
}
],
dataProvider: function(args) {

View File

@ -558,6 +558,8 @@
if(zone.networktype == "Basic") {
hiddenFields.push("account");
hiddenFields.push("gateway");
hiddenFields.push("vlan");
hiddenFields.push("cidr");
//hiddenFields.push("netmask");
}
@ -1322,44 +1324,39 @@
// Get network data
$.ajax({
url: createURL("listPublicIpAddresses&id="+args.id),
url: createURL('listPublicIpAddresses'),
data: {
listAll: true,
id: args.id
},
dataType: "json",
async: true,
success: function(json) {
var item = items[0];
// Get VPN data
$.ajax({
url: createURL('listNetworks'),
url: createURL('listRemoteAccessVpns'),
data: {
networkid: this.associatednetworkid
listAll: true,
publicipid: item.id
},
dataType: 'json',
async: true,
success: function(data) {
// Get VPN data
$.ajax({
url: createURL('listRemoteAccessVpns'),
data: {
publicipid: item.id
},
dataType: 'json',
async: true,
success: function(vpnResponse) {
var isVPNEnabled = vpnResponse.listremoteaccessvpnsresponse.count;
if (isVPNEnabled) {
item.vpnenabled = true;
item.remoteaccessvpn = vpnResponse.listremoteaccessvpnsresponse.remoteaccessvpn[0];
};
success: function(vpnResponse) {
var isVPNEnabled = vpnResponse.listremoteaccessvpnsresponse.count;
if (isVPNEnabled) {
item.vpnenabled = true;
item.remoteaccessvpn = vpnResponse.listremoteaccessvpnsresponse.remoteaccessvpn[0];
};
// Check if data retrieval complete
item.network = data.listnetworksresponse.network[0];
item.networkname = item.network.name;
item.networktype = item.network.type;
// Check if data retrieval complete
item.network = args.context.networks[0];
item.networkname = item.network.name;
item.networktype = item.network.type;
args.response.success({
actionFilter: actionFilters.ipAddress,
data: item
});
}
args.response.success({
actionFilter: actionFilters.ipAddress,
data: item
});
}
});

View File

@ -217,9 +217,9 @@
providerListView: {
id: 'networkProviders',
fields: {
name: { label: 'Name' },
name: { label: 'label.name' },
state: {
label: 'State',
label: 'label.state',
converter: function(str) {
// For localization
return str;
@ -280,7 +280,7 @@
detailView: {
actions: {
edit: {
label: 'Edit',
label: 'label.edit',
action: function(args) {
var trafficType = getTrafficType(selectedPhysicalNetworkObj, 'Public');
@ -295,10 +295,10 @@
},
tabs: {
details: {
title: 'Details',
title: 'label.details',
fields: [
{
traffictype: { label: 'Traffic type' },
traffictype: { label: 'label.traffic.type' },
broadcastdomaintype: { label: 'Broadcast domain type' }
},
{
@ -428,7 +428,7 @@
detailView: {
actions: {
edit: {
label: 'Edit',
label: 'label.edit',
action: function(args) {
var trafficType = getTrafficType(selectedPhysicalNetworkObj, 'Storage');
@ -443,10 +443,10 @@
},
tabs: {
details: {
title: 'Details',
title: 'label.details',
fields: [
{
traffictype: { label: 'Traffic type' },
traffictype: { label: 'label.traffic.type' },
broadcastdomaintype: { label: 'Broadcast domain type' }
},
{
@ -585,7 +585,7 @@
detailView: {
actions: {
edit: {
label: 'Edit',
label: 'label.edit',
action: function(args) {
var trafficType = getTrafficType(selectedPhysicalNetworkObj, 'Management');
@ -600,10 +600,10 @@
},
tabs: {
details: {
title: 'Details',
title: 'label.details',
fields: [
{
traffictype: { label: 'Traffic type' },
traffictype: { label: 'label.traffic.type' },
broadcastdomaintype: { label: 'Broadcast domain type' }
},
{
@ -672,7 +672,7 @@
detailView: {
actions: {
edit: {
label: 'Edit',
label: 'label.edit',
action: function(args) {
var vlan;
if(args.data.endVlan == null || args.data.endVlan.length == 0)
@ -712,7 +712,7 @@
tabs: {
details: {
title: 'Details',
title: 'label.details',
preFilter: function(args) {
var hiddenFields = [];
if(selectedZoneObj.networktype == "Basic") {
@ -723,7 +723,7 @@
},
fields: [
{
state: { label: 'State' },
state: { label: 'label.state' },
startVlan: {
label: 'Start Vlan',
isEditable: true
@ -897,7 +897,7 @@
section: 'networks',
id: 'networks',
fields: {
name: { label: 'Name' },
name: { label: 'label.name' },
type: { label: 'Type' },
vlan: { label: 'VLAN ID' },
cidr: { label: 'CIDR' },
@ -921,7 +921,7 @@
fields: {
name: {
label: 'Name',
label: 'label.name',
validation: { required: true }
},
description: {
@ -1391,7 +1391,7 @@
},
actions: {
edit: {
label: 'Edit',
label: 'label.edit',
messages: {
confirm: function(args) {
return 'Are you sure you want to edit network?';
@ -1572,7 +1572,7 @@
},
tabs: {
details: {
title: 'Details',
title: 'label.details',
preFilter: function(args) {
var hiddenFields = [];
if(selectedZoneObj.networktype == "Basic") {
@ -1596,12 +1596,12 @@
fields: [
{
name: {
label: 'Name',
label: 'label.name',
isEditable: true
}
},
{
id: { label: 'ID' },
id: { label: 'label.id' },
displaytext: {
label: 'Description',
isEditable: true
@ -1610,7 +1610,7 @@
label: 'Type'
},
state: {
label: 'State'
label: 'label.state'
},
restartrequired: {
label: 'Restart required',
@ -1697,13 +1697,13 @@
id: 'physicalNetworks',
hideToolbar: true,
fields: {
name: { label: 'Name' },
name: { label: 'label.name' },
state: {
converter: function(str) {
// For localization
return str;
},
label: 'State', indicator: { 'Enabled': 'on', 'Disabled': 'off' }
label: 'label.state', indicator: { 'Enabled': 'on', 'Disabled': 'off' }
},
vlan: { label: 'VLAN Range' }
}
@ -1888,7 +1888,7 @@
isMaximized: true,
type: 'detailView',
fields: {
name: { label: 'Name' },
name: { label: 'label.name' },
ipaddress: { label: 'IP Address' },
state: { label: 'Status', indicator: { 'Enabled': 'on' } }
},
@ -1897,11 +1897,11 @@
title: 'Network',
fields: [
{
name: { label: 'Name' }
name: { label: 'label.name' }
},
{
id: { label: 'ID' },
state: { label: 'State' },
id: { label: 'label.id' },
state: { label: 'label.state' },
physicalnetworkid: { label: 'Physical network ID' },
destinationphysicalnetworkid: { label: 'Destination physical networkID' }
},
@ -1943,7 +1943,7 @@
label: 'Virtual Appliances',
id: 'routers',
fields: {
name: { label: 'Name' },
name: { label: 'label.name' },
zonename: { label: 'Zone' },
state: {
converter: function(str) {
@ -2267,14 +2267,14 @@
},
tabs: {
details: {
title: 'Details',
title: 'label.details',
fields: [
{
name: { label: 'Name' }
name: { label: 'label.name' }
},
{
id: { label: 'ID' },
state: { label: 'State' },
id: { label: 'label.id' },
state: { label: 'label.state' },
publicip: { label: 'Public IP' },
guestipaddress: { label: 'Guest IP' },
linklocalip: { label: 'Link local IP' },
@ -2283,7 +2283,7 @@
networkdomain: { label: 'Network domain' },
domain: { label: 'Domain' },
account: { label: 'Account' },
created: { label: 'Created', converter: cloudStack.converters.toLocalDate },
created: { label: 'label.created', converter: cloudStack.converters.toLocalDate },
isredundantrouter: {
label: 'Redundant router',
converter: cloudStack.converters.toBooleanText
@ -2370,13 +2370,13 @@
viewAll: { label: 'Providers', path: '_zone.netscalerProviders' },
tabs: {
details: {
title: 'Details',
title: 'label.details',
fields: [
{
name: { label: 'Name' }
name: { label: 'label.name' }
},
{
id: { label: 'ID' }
id: { label: 'label.id' }
}
],
dataProvider: function(args) {
@ -2579,13 +2579,13 @@
viewAll: { label: 'Providers', path: '_zone.f5Providers' },
tabs: {
details: {
title: 'Details',
title: 'label.details',
fields: [
{
name: { label: 'Name' }
name: { label: 'label.name' }
},
{
id: { label: 'ID' }
id: { label: 'label.id' }
}
],
dataProvider: function(args) {
@ -2787,13 +2787,13 @@
viewAll: { label: 'Providers', path: '_zone.srxProviders' },
tabs: {
details: {
title: 'Details',
title: 'label.details',
fields: [
{
name: { label: 'Name' }
name: { label: 'label.name' }
},
{
id: { label: 'ID' }
id: { label: 'label.id' }
}
],
dataProvider: function(args) {
@ -3010,14 +3010,14 @@
viewAll: { label: 'Security Groups', path: 'network.securityGroups' },
tabs: {
details: {
title: 'Details',
title: 'label.details',
fields: [
{
name: { label: 'Name' }
name: { label: 'label.name' }
},
{
state: { label: 'State' },
id: { label: 'ID' },
state: { label: 'label.state' },
id: { label: 'label.id' },
physicalnetworkid: { label: 'Physical network ID' }
}
],
@ -3093,8 +3093,8 @@
},
fields: {
id: { label: 'ID' },
name: { label: 'Name' }//,
id: { label: 'label.id' },
name: { label: 'label.name' }//,
//state: { label: 'Status' } //comment it for now, since dataProvider below doesn't get called by widget code after action is done
}
}
@ -3360,7 +3360,7 @@
isMaximized: true,
actions: {
edit: {
label: 'Edit',
label: 'label.edit',
action: function(args) {
var array1 = [];
array1.push("&name=" +todb(args.data.name));
@ -3386,7 +3386,7 @@
},
tabs: {
details: {
title: 'Details',
title: 'label.details',
preFilter: function(args) {
var hiddenFields = [];
@ -3400,7 +3400,7 @@
name: { label: 'Zone', isEditable: true }
},
{
id: { label: 'ID' },
id: { label: 'label.id' },
allocationstate: { label: 'Allocation State' },
dns1: { label: 'DNS 1', isEditable: true },
dns2: { label: 'DNS 2', isEditable: true },
@ -3448,7 +3448,7 @@
label: 'System VMs',
id: 'systemVMs',
fields: {
name: { label: 'Name' },
name: { label: 'label.name' },
systemvmtype: {
label: 'Type',
converter: function(args) {
@ -3748,14 +3748,14 @@
},
tabs: {
details: {
title: 'Details',
title: 'label.details',
fields: [
{
name: { label: 'Name' }
name: { label: 'label.name' }
},
{
id: { label: 'ID' },
state: { label: 'State' },
id: { label: 'label.id' },
state: { label: 'label.state' },
systemvmtype: {
label: 'Type',
converter: function(args) {
@ -3773,7 +3773,7 @@
linklocalip: { label: 'Link local IP' },
hostname: { label: 'Host' },
gateway: { label: 'Gateway' },
created: { label: 'Created', converter: cloudStack.converters.toLocalDate },
created: { label: 'label.created', converter: cloudStack.converters.toLocalDate },
activeviewersessions: { label: 'Active sessions' }
}
],
@ -3975,10 +3975,10 @@
},
tabs: {
details: {
title: 'Details',
title: 'label.details',
fields: [
{
lbdeviceid: { label: 'ID' },
lbdeviceid: { label: 'label.id' },
ipaddress: { label: 'IP Address' },
lbdevicestate: { label: 'Status' },
lbdevicename: { label: 'Type' },
@ -4180,10 +4180,10 @@
},
tabs: {
details: {
title: 'Details',
title: 'label.details',
fields: [
{
lbdeviceid: { label: 'ID' },
lbdeviceid: { label: 'label.id' },
ipaddress: { label: 'IP Address' },
lbdevicestate: { label: 'Status' },
lbdevicename: { label: 'Type' },
@ -4400,10 +4400,10 @@
},
tabs: {
details: {
title: 'Details',
title: 'label.details',
fields: [
{
fwdeviceid: { label: 'ID' },
fwdeviceid: { label: 'label.id' },
ipaddress: { label: 'IP Address' },
fwdevicestate: { label: 'Status' },
fwdevicename: { label: 'Type' },
@ -4426,7 +4426,7 @@
id: 'pods',
section: 'pods',
fields: {
name: { label: 'Name' },
name: { label: 'label.name' },
gateway: { label: 'Gateway' },
netmask: { label: 'Netmask' },
allocationstate: {
@ -4555,7 +4555,7 @@
},
actions: {
edit: {
label: 'Edit',
label: 'label.edit',
action: function(args) {
var array1 = [];
array1.push("&name=" +todb(args.data.name));
@ -4687,13 +4687,13 @@
},
tabs: {
details: {
title: 'Details',
title: 'label.details',
fields: [
{
name: { label: 'Name', isEditable: true }
name: { label: 'label.name', isEditable: true }
},
{
id: { label: 'ID' },
id: { label: 'label.id' },
netmask: { label: 'Netmask', isEditable: true },
startip: { label: 'Start IP Range', isEditable: true },
endip: { label: 'End IP Range', isEditable: true },
@ -4721,7 +4721,7 @@
multiple: true,
fields: [
{
id: { label: 'ID' },
id: { label: 'label.id' },
gateway: { label: 'Gateway' },
netmask: { label: 'Netmask' },
startip: { label: 'Start IP range' },
@ -4749,9 +4749,9 @@
id: 'clusters',
section: 'clusters',
fields: {
name: { label: 'Name' },
name: { label: 'label.name' },
podname: { label: 'Pod' },
hypervisortype: { label: 'Hypervisor' },
hypervisortype: { label: 'label.hypervisor' },
//allocationstate: { label: 'Allocation State' },
//managedstate: { label: 'Managed State' },
state: {
@ -4759,7 +4759,7 @@
// For localization
return str;
},
label: 'State',
label: 'label.state',
indicator: { 'Enabled': 'on', 'Destroyed': 'off'}
}
},
@ -4826,7 +4826,7 @@
desc: 'Please fill in the following data to add a new cluster.',
fields: {
hypervisor: {
label: 'Hypervisor',
label: 'label.hypervisor',
select: function(args) {
$.ajax({
url: createURL("listHypervisors"),
@ -5161,20 +5161,20 @@
tabs: {
details: {
title: 'Details',
title: 'label.details',
fields: [
{
name: { label: 'Name' }
name: { label: 'label.name' }
},
{
id: { label: 'ID' },
id: { label: 'label.id' },
zonename: { label: 'Zone' },
podname: { label: 'Pod' },
hypervisortype: { label: 'Hypervisor' },
hypervisortype: { label: 'label.hypervisor' },
clustertype: { label: 'Cluster type' },
//allocationstate: { label: 'Allocation State' },
//managedstate: { label: 'Managed State' },
state: { label: 'State' }
state: { label: 'label.state' }
}
],
dataProvider: function(args) {
@ -5195,7 +5195,7 @@
section: 'hosts',
id: 'hosts',
fields: {
name: { label: 'Name' },
name: { label: 'label.name' },
zonename: { label: 'Zone' },
podname: { label: 'Pod' },
clustername: { label: 'Cluster' }
@ -5547,7 +5547,7 @@
},
actions: {
edit: {
label: 'Edit',
label: 'label.edit',
action: function(args) {
var array1 = [];
array1.push("&hosttags=" + todb(args.data.hosttags));
@ -5753,15 +5753,15 @@
},
tabs: {
details: {
title: 'Details',
title: 'label.details',
fields: [
{
name: { label: 'Name' }
name: { label: 'label.name' }
},
{
id: { label: 'ID' },
id: { label: 'label.id' },
resourcestate: { label: 'Resource state' },
state: { label: 'State' },
state: { label: 'label.state' },
type: { label: 'Type' },
zonename: { label: 'Zone' },
podname: { label: 'Pod' },
@ -5814,7 +5814,7 @@
id: 'primarystorages',
section: 'primary-storage',
fields: {
name: { label: 'Name' },
name: { label: 'label.name' },
ipaddress: { label: 'Server' },
path: { label: 'Path' }
},
@ -5904,7 +5904,7 @@
},
name: {
label: 'Name',
label: 'label.name',
validation: { required: true }
},
@ -6180,7 +6180,7 @@
//always appear (begin)
storageTags: {
label: 'Storage Tags',
label: 'label.storage.tags',
validation: { required: false }
}
//always appear (end)
@ -6295,7 +6295,7 @@
name: "Primary storage details",
actions: {
edit: {
label: 'Edit',
label: 'label.edit',
action: function(args) {
var array1 = [];
array1.push("&tags=" + todb(args.data.tags));
@ -6435,16 +6435,16 @@
tabs: {
details: {
title: 'Details',
title: 'label.details',
fields: [
{
name: { label: 'Name' }
name: { label: 'label.name' }
},
{
id: { label: 'ID' },
state: { label: 'State' },
id: { label: 'label.id' },
state: { label: 'label.state' },
tags: {
label: 'Storage tags',
label: 'label.storage.tags',
isEditable: true
},
podname: { label: 'Pod' },
@ -6493,8 +6493,8 @@
id: 'secondarystorages',
section: 'seconary-storage',
fields: {
name: { label: 'Name' },
created: { label: 'Created', converter: cloudStack.converters.toLocalDate }
name: { label: 'label.name' },
created: { label: 'label.created', converter: cloudStack.converters.toLocalDate }
},
dataProvider: function(args) {
@ -6618,14 +6618,14 @@
},
tabs: {
details: {
title: 'Details',
title: 'label.details',
fields: [
{
name: { label: 'Name' }
name: { label: 'label.name' }
},
{
id: { label: 'ID' },
created: { label: 'Created', converter: cloudStack.converters.toLocalDate }
id: { label: 'label.id' },
created: { label: 'label.created', converter: cloudStack.converters.toLocalDate }
}
],
@ -6647,7 +6647,7 @@
listView: {
section: 'guest-IP-range',
fields: {
//id: { label: 'ID' },
//id: { label: 'label.id' },
//podname: { label: 'Pod' },
//vlan: { label: 'VLAN' },
startip: { label: 'Start IP' },

File diff suppressed because it is too large Load Diff

View File

@ -29,7 +29,7 @@
return false;
});
var createLabel = args.form.createLabel;
var createLabel = _l(args.form.createLabel);
var $submit = $('<input>')
.attr({
type: 'submit'