Hi,
Please find attached patch for RM2421
Issue fixed: 1. Integer/numeric Validation is not working properly.
2. Wrong CPU rate unit
--
*Harshal Dhumal*
*Sr. Software Engineer*
EnterpriseDB India: http://www.enterprisedb.com
The Enterprise PostgreSQL Company
diff --git a/web/pgadmin/browser/server_groups/servers/resource_groups/templates/resource_groups/js/resource_groups.js b/web/pgadmin/browser/server_groups/servers/resource_groups/templates/resource_groups/js/resource_groups.js
index 3cc822e..596a4ee 100644
--- a/web/pgadmin/browser/server_groups/servers/resource_groups/templates/resource_groups/js/resource_groups.js
+++ b/web/pgadmin/browser/server_groups/servers/resource_groups/templates/resource_groups/js/resource_groups.js
@@ -72,7 +72,7 @@ define(
id: 'name', label: '{{ _('Name') }}', cell: 'string',
type: 'text',
},{
- id: 'cpu_rate_limit', label:'{{ _('CPU rate limit (%%)') }}', cell: 'string',
+ id: 'cpu_rate_limit', label:'{{ _('CPU rate limit (%)') }}', cell: 'string',
type: 'numeric', min:0, max:16777216
},{
id: 'dirty_rate_limit', label:'{{ _('Dirty rate limit (KB)') }}', cell: 'string',
diff --git a/web/pgadmin/static/js/backform.pgadmin.js b/web/pgadmin/static/js/backform.pgadmin.js
index 553676e..a822da8 100644
--- a/web/pgadmin/static/js/backform.pgadmin.js
+++ b/web/pgadmin/static/js/backform.pgadmin.js
@@ -1528,7 +1528,18 @@
max_value = field.max,
isValid = true,
intPattern = new RegExp("^-?[0-9]*$"),
- isMatched = intPattern.test(value);
+ isMatched = intPattern.test(value),
+ trigger_invalid_event = function(msg) {
+ if (this.model.collection || this.model.handler) {
+ (this.model.collection || this.model.handler).trigger(
+ 'pgadmin-session:model:invalid', msg, this.model
+ );
+ } else {
+ (this.model).trigger(
+ 'pgadmin-session:invalid', msg, this.model
+ );
+ }
+ }.bind(this);
// Below logic will validate input
if (!isMatched) {
@@ -1573,25 +1584,23 @@
this.model.errorModel.unset(name);
this.model.set(name, value);
this.listenTo(this.model, "change:" + name, this.render);
- if (this.model.collection || this.model.handler) {
- (this.model.collection || this.model.handler).trigger(
- 'pgadmin-session:model:valid', this.model, (this.model.collection || this.model.handler)
- );
+ // Check if other fields of same model are valid before
+ // triggering 'session:valid' event
+ if(_.size(this.model.errorModel.attributes) == 0) {
+ if (this.model.collection || this.model.handler) {
+ (this.model.collection || this.model.handler).trigger(
+ 'pgadmin-session:model:valid', this.model, (this.model.collection || this.model.handler)
+ );
+ } else {
+ (this.model).trigger(
+ 'pgadmin-session:valid', this.model.sessChanged(), this.model
+ );
+ }
} else {
- (this.model).trigger(
- 'pgadmin-session:valid', this.model.sessChanged(), this.model
- );
+ trigger_invalid_event(_.values(this.model.errorModel.attributes)[0]);
}
} else {
- if (this.model.collection || this.model.handler) {
- (this.model.collection || this.model.handler).trigger(
- 'pgadmin-session:model:invalid', this.model.errorModel.get(name), this.model
- );
- } else {
- (this.model).trigger(
- 'pgadmin-session:invalid', this.model.errorModel.get(name), this.model
- );
- }
+ trigger_invalid_event(this.model.errorModel.get(name));
}
}
});
@@ -1631,7 +1640,18 @@
max_value = field.max,
isValid = true,
intPattern = new RegExp("^-?[0-9]+(\.?[0-9]*)?$"),
- isMatched = intPattern.test(value);
+ isMatched = intPattern.test(value),
+ trigger_invalid_event = function(msg) {
+ if (this.model.collection || this.model.handler) {
+ (this.model.collection || this.model.handler).trigger(
+ 'pgadmin-session:model:invalid', msg, this.model
+ );
+ } else {
+ (this.model).trigger(
+ 'pgadmin-session:invalid', msg, this.model
+ );
+ }
+ }.bind(this);
// Below logic will validate input
if (!isMatched) {
@@ -1676,25 +1696,23 @@
this.model.errorModel.unset(name);
this.model.set(name, value);
this.listenTo(this.model, "change:" + name, this.render);
- if (this.model.collection || this.model.handler) {
- (this.model.collection || this.model.handler).trigger(
- 'pgadmin-session:model:valid', this.model, (this.model.collection || this.model.handler)
- );
+ // Check if other fields of same model are valid before
+ // triggering 'session:valid' event
+ if(_.size(this.model.errorModel.attributes) == 0) {
+ if (this.model.collection || this.model.handler) {
+ (this.model.collection || this.model.handler).trigger(
+ 'pgadmin-session:model:valid', this.model, (this.model.collection || this.model.handler)
+ );
+ } else {
+ (this.model).trigger(
+ 'pgadmin-session:valid', this.model.sessChanged(), this.model
+ );
+ }
} else {
- (this.model).trigger(
- 'pgadmin-session:valid', this.model.sessChanged(), this.model
- );
+ trigger_invalid_event(_.values(this.model.errorModel.attributes)[0]);
}
} else {
- if (this.model.collection || this.model.handler) {
- (this.model.collection || this.model.handler).trigger(
- 'pgadmin-session:model:invalid', this.model.errorModel.get(name), this.model
- );
- } else {
- (this.model).trigger(
- 'pgadmin-session:invalid', this.model.errorModel.get(name), this.model
- );
- }
+ trigger_invalid_event(this.model.errorModel.get(name));
}
}
});
--
Sent via pgadmin-hackers mailing list ([email protected])
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgadmin-hackers