diff --git a/client/WEB-INF/classes/resources/messages.properties b/client/WEB-INF/classes/resources/messages.properties
index 50f7a651107..eb11fe48dec 100644
--- a/client/WEB-INF/classes/resources/messages.properties
+++ b/client/WEB-INF/classes/resources/messages.properties
@@ -800,6 +800,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 8d6a716f60b..ab377818d62 100644
--- a/ui/dictionary.jsp
+++ b/ui/dictionary.jsp
@@ -794,6 +794,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 dcf28854e39..9ba3ebfe711 100644
--- a/ui/scripts/accounts.js
+++ b/ui/scripts/accounts.js
@@ -493,6 +493,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,
@@ -853,6 +871,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) {
@@ -935,6 +962,9 @@
case "4":
accountObj["templateLimit"] = limit.max;
break;
+ case "6":
+ accountObj["networkLimit"] = limit.max;
+ break;
case "7":
accountObj["vpcLimit"] = limit.max;
break;