|
@@ -233,6 +233,37 @@ App.ManageAlertNotificationsController = Em.Controller.extend({
|
|
|
'mail.smtp.starttls.enable'
|
|
|
],
|
|
|
|
|
|
+ validationMap: {
|
|
|
+ EMAIL: [
|
|
|
+ {
|
|
|
+ errorKey: 'emailToError',
|
|
|
+ validator: 'emailToValidation'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ errorKey: 'emailFromError',
|
|
|
+ validator: 'emailFromValidation'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ errorKey: 'smtpPortError',
|
|
|
+ validator: 'smtpPortValidation'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ errorKey: 'passwordError',
|
|
|
+ validator: 'retypePasswordValidation'
|
|
|
+ }
|
|
|
+ ],
|
|
|
+ SNMP: [
|
|
|
+ {
|
|
|
+ errorKey: 'portError',
|
|
|
+ validator: 'portValidation'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ errorKey: 'hostError',
|
|
|
+ validator: 'hostsValidation'
|
|
|
+ }
|
|
|
+ ]
|
|
|
+ },
|
|
|
+
|
|
|
/**
|
|
|
* Load all Alert Notifications from server
|
|
|
* @method loadAlertNotifications
|
|
@@ -372,15 +403,17 @@ App.ManageAlertNotificationsController = Em.Controller.extend({
|
|
|
return this.get('controller.inputFields.method.value') === 'EMAIL';
|
|
|
}.property('controller.inputFields.method.value'),
|
|
|
|
|
|
- clearValidationErrors: function () {
|
|
|
- var linkedErrorsMap = {
|
|
|
- EMAIL: ['emailToError', 'emailFromError', 'smtpPortError', 'passwordError'],
|
|
|
- SNMP: ['portError', 'hostError']
|
|
|
- },
|
|
|
- method = this.get('controller.inputFields.method.value');
|
|
|
- Em.keys(linkedErrorsMap).forEach(function (name) {
|
|
|
- if (name != method) {
|
|
|
- linkedErrorsMap[name].forEach(function (key) {
|
|
|
+ methodObserver: function () {
|
|
|
+ var currentMethod = this.get('controller.inputFields.method.value'),
|
|
|
+ validationMap = self.get('validationMap');
|
|
|
+ self.get('methods').forEach(function (method) {
|
|
|
+ var validations = validationMap[method];
|
|
|
+ if (method == currentMethod) {
|
|
|
+ validations.mapProperty('validator').forEach(function (key) {
|
|
|
+ this.get(key).call(this);
|
|
|
+ }, this);
|
|
|
+ } else {
|
|
|
+ validations.mapProperty('errorKey').forEach(function (key) {
|
|
|
this.set(key, false);
|
|
|
}, this);
|
|
|
}
|