mirror of https://github.com/apache/cloudstack.git
Update UI with latest fixes and localization
reviewed-by: jessica
This commit is contained in:
parent
e687054e0c
commit
f95f2b50dd
|
|
@ -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
|
||||
|
|
@ -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=システムサービスの提供を追加します。
|
||||
38
ui/index.jsp
38
ui/index.jsp
|
|
@ -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>
|
||||
|
|
|
|||
|
|
@ -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 "";
|
||||
|
|
|
|||
|
|
@ -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'
|
||||
}
|
||||
}
|
||||
],
|
||||
|
|
|
|||
|
|
@ -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) {
|
||||
|
|
|
|||
|
|
@ -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) {
|
||||
|
|
|
|||
|
|
@ -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
|
||||
});
|
||||
}
|
||||
});
|
||||
|
|
|
|||
|
|
@ -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
|
|
@ -29,7 +29,7 @@
|
|||
return false;
|
||||
});
|
||||
|
||||
var createLabel = args.form.createLabel;
|
||||
var createLabel = _l(args.form.createLabel);
|
||||
var $submit = $('<input>')
|
||||
.attr({
|
||||
type: 'submit'
|
||||
|
|
|
|||
Loading…
Reference in New Issue