diff --git a/client/WEB-INF/classes/resources/messages.properties b/client/WEB-INF/classes/resources/messages.properties
index c075bf8c473..5735ccd5a38 100644
--- a/client/WEB-INF/classes/resources/messages.properties
+++ b/client/WEB-INF/classes/resources/messages.properties
@@ -810,6 +810,7 @@ label.network.domain.text=Network domain
label.network.domain=Network Domain
label.network.id=Network ID
label.network.label.display.for.blank.value=Use default gateway
+label.network.limits=Network limits
label.network.name=Network Name
label.network.offering.display.text=Network Offering Display Text
label.network.offering.id=Network Offering ID
diff --git a/ui/dictionary.jsp b/ui/dictionary.jsp
index 80aab6f0ba1..9ab644b966a 100644
--- a/ui/dictionary.jsp
+++ b/ui/dictionary.jsp
@@ -799,6 +799,7 @@ dictionary = {
'label.network.id': '',
'label.networking.and.security': '',
'label.network.label.display.for.blank.value': '',
+'label.network.limits': '',
'label.network.name': '',
'label.network.offering.display.text': '',
'label.network.offering': '',
diff --git a/ui/scripts/accounts.js b/ui/scripts/accounts.js
index 14f7660f30f..a754d31b478 100644
--- a/ui/scripts/accounts.js
+++ b/ui/scripts/accounts.js
@@ -291,6 +291,24 @@
});
}
+ if (args.data.networkLimit != null) {
+ var data = {
+ resourceType: 6,
+ max: args.data.networkLimit,
+ domainid: accountObj.domainid,
+ account: accountObj.name
+ };
+
+ $.ajax({
+ url: createURL('updateResourceLimit'),
+ data: data,
+ async: false,
+ success: function(json) {
+ accountObj["networkLimit"] = args.data.networkLimit;
+ }
+ });
+ }
+
if (args.data.primaryStorageLimit != null) {
var data = {
resourceType: 10,
@@ -651,6 +669,15 @@
return false;
}
},
+ networkLimit: {
+ label: 'label.network.limits',
+ isEditable: function(context) {
+ if (context.accounts[0].accounttype == roleTypeUser || context.accounts[0].accounttype == roleTypeDomainAdmin) //updateResourceLimits is only allowed on account whose type is user or domain-admin
+ return true;
+ else
+ return false;
+ }
+ },
primaryStorageLimit: {
label: 'label.primary.storage.limits',
isEditable: function(context) {
@@ -733,6 +760,9 @@
case "4":
accountObj["templateLimit"] = limit.max;
break;
+ case "6":
+ accountObj["networkLimit"] = limit.max;
+ break;
case "7":
accountObj["vpcLimit"] = limit.max;
break;