Bläddra i källkod

AMBARI-14314. RBAC: Alert state is not visible for non-admin roles (rzang)

Richard Zang 9 år sedan
förälder
incheckning
2b0cb80629
2 ändrade filer med 22 tillägg och 0 borttagningar
  1. 10 0
      ambari-web/app/templates/main/alerts.hbs
  2. 12 0
      ambari-web/app/utils/helper.js

+ 10 - 0
ambari-web/app/templates/main/alerts.hbs

@@ -71,6 +71,11 @@
                   </span>
                   </a>
                 {{/isAuthorized}}
+                {{#isNotAuthorized "CLUSTER.TOGGLE_ALERTS"}}
+                    <span {{bindAttr class="alertDefinition.enabled:alert-definition-enable:alert-definition-disable"}}>
+                      {{view.enabledDisplay}}
+                    </span>
+                {{/isNotAuthorized}}
               {{else}}
                 {{#isAuthorized "CLUSTER.TOGGLE_ALERTS"}}
                   <a href="#" {{action "toggleState" alertDefinition target="controller"}} {{bindAttr class="alertDefinition.enabled:alert-definition-enable:alert-definition-disable"}}>
@@ -79,6 +84,11 @@
                   </span>
                   </a>
                 {{/isAuthorized}}
+                {{#isNotAuthorized "CLUSTER.TOGGLE_ALERTS"}}
+                  <span {{bindAttr class="alertDefinition.enabled:alert-definition-enable:alert-definition-disable"}}>
+                    {{view.disabledDisplay}}
+                  </span>
+                {{/isNotAuthorized}}
               {{/if}}
             </td>
           </tr>

+ 12 - 0
ambari-web/app/utils/helper.js

@@ -372,6 +372,18 @@ Em.Handlebars.registerHelper('isAuthorized', function (property, options) {
   return Ember.Handlebars.helpers.boundIf.call(permission, "isAuthorized", options);
 });
 
+Em.Handlebars.registerHelper('isNotAuthorized', function (property, options) {
+  var permission = Ember.Object.create({
+    isNotAuthorized: function() {
+      return !App.isAuthorized(property);
+    }.property('App.router.wizardWatcherController.isWizardRunning')
+  });
+
+  // wipe out contexts so boundIf uses `this` (the permission) as the context
+  options.contexts = null;
+  return Ember.Handlebars.helpers.boundIf.call(permission, "isNotAuthorized", options);
+});
+
 /**
  * @namespace App
  */