You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by yu...@apache.org on 2015/11/09 23:21:39 UTC
ambari git commit: AMBARI-13347. Alert notification
create/edit/duplicate menu items should be disabled for non-admin users.
(Sangeeta Ravindran via yusaku)
Repository: ambari
Updated Branches:
refs/heads/trunk c715189ab -> d7a965535
AMBARI-13347. Alert notification create/edit/duplicate menu items should be disabled for non-admin users. (Sangeeta Ravindran via yusaku)
Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/d7a96553
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/d7a96553
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/d7a96553
Branch: refs/heads/trunk
Commit: d7a9655350126d2958382a5095b9499bf450bf07
Parents: c715189
Author: Yusaku Sako <yu...@hortonworks.com>
Authored: Mon Nov 9 14:21:06 2015 -0800
Committer: Yusaku Sako <yu...@hortonworks.com>
Committed: Mon Nov 9 14:21:06 2015 -0800
----------------------------------------------------------------------
.../alerts/manage_alert_notifications_popup.hbs | 3 +-
.../alerts/manage_alert_notifications_view.js | 13 ++++--
.../manage_alert_notifications_view_test.js | 45 +++++++++++++++++++-
3 files changed, 55 insertions(+), 6 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ambari/blob/d7a96553/ambari-web/app/templates/main/alerts/manage_alert_notifications_popup.hbs
----------------------------------------------------------------------
diff --git a/ambari-web/app/templates/main/alerts/manage_alert_notifications_popup.hbs b/ambari-web/app/templates/main/alerts/manage_alert_notifications_popup.hbs
index b0fa709..3581f12 100644
--- a/ambari-web/app/templates/main/alerts/manage_alert_notifications_popup.hbs
+++ b/ambari-web/app/templates/main/alerts/manage_alert_notifications_popup.hbs
@@ -32,13 +32,14 @@
<div class="btn-toolbar pull-right">
<button rel="button-info" class="btn add-notification-button"
{{translateAttr data-original-title="alerts.actions.manage_alert_notifications_popup.addButton"}}
+ {{bindAttr disabled="view.isAddButtonDisabled"}}
{{action addAlertNotification target="controller"}}><i class="icon-plus"></i></button>
<button rel="button-info" class="btn remove-notification-button"
{{translateAttr data-original-title="alerts.actions.manage_alert_notifications_popup.removeButton"}}
{{bindAttr disabled="view.isRemoveButtonDisabled"}}
{{action deleteAlertNotification target="controller"}}><i class="icon-minus"></i></button>
<div class="btn-group notification-actions-button">
- <button class="btn dropdown-toggle" data-toggle="dropdown">
+ <button class="btn dropdown-toggle" data-toggle="dropdown" {{bindAttr disabled="view.isAddButtonDisabled"}}>
<i class="icon-cog"></i> <span class="caret"></span>
</button>
<ul class="dropdown-menu">
http://git-wip-us.apache.org/repos/asf/ambari/blob/d7a96553/ambari-web/app/views/main/alerts/manage_alert_notifications_view.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/views/main/alerts/manage_alert_notifications_view.js b/ambari-web/app/views/main/alerts/manage_alert_notifications_view.js
index ff55ae9..4672662 100644
--- a/ambari-web/app/views/main/alerts/manage_alert_notifications_view.js
+++ b/ambari-web/app/views/main/alerts/manage_alert_notifications_view.js
@@ -31,6 +31,8 @@ App.ManageAlertNotificationsView = Em.View.extend({
return this.get('controller.selectedAlertNotification.groups').toArray().mapProperty('displayName').join(', ');
}.property('controller.selectedAlertNotification', 'controller.selectedAlertNotification.groups.@each', 'controller.isLoaded'),
+ isAddButtonDisabled: true,
+
isEditButtonDisabled: true,
isRemoveButtonDisabled: true,
@@ -67,9 +69,10 @@ App.ManageAlertNotificationsView = Em.View.extend({
*/
buttonObserver: function () {
var selectedAlertNotification = this.get('controller.selectedAlertNotification');
- this.set('isEditButtonDisabled', !selectedAlertNotification);
- this.set('isRemoveButtonDisabled', !selectedAlertNotification);
- this.set('isDuplicateButtonDisabled', !selectedAlertNotification);
+ this.set('isAddButtonDisabled', (!selectedAlertNotification || App.isOperator));
+ this.set('isEditButtonDisabled', (!selectedAlertNotification || App.isOperator));
+ this.set('isRemoveButtonDisabled', (!selectedAlertNotification || App.isOperator));
+ this.set('isDuplicateButtonDisabled', (!selectedAlertNotification || App.isOperator));
}.observes('controller.selectedAlertNotification'),
/**
@@ -98,6 +101,10 @@ App.ManageAlertNotificationsView = Em.View.extend({
this.set('selectedAlertNotification', this.get('controller.selectedAlertNotification') || notifications[0]);
this.buttonObserver();
} else {
+ if(!App.isOperator)
+ {
+ this.set('isAddButtonDisabled',false);
+ }
this.set('selectedAlertNotification', null);
}
Em.run.later(this, function () {
http://git-wip-us.apache.org/repos/asf/ambari/blob/d7a96553/ambari-web/test/views/main/alerts/manage_alert_notifications_view_test.js
----------------------------------------------------------------------
diff --git a/ambari-web/test/views/main/alerts/manage_alert_notifications_view_test.js b/ambari-web/test/views/main/alerts/manage_alert_notifications_view_test.js
index a2822ce..6e8b993 100644
--- a/ambari-web/test/views/main/alerts/manage_alert_notifications_view_test.js
+++ b/ambari-web/test/views/main/alerts/manage_alert_notifications_view_test.js
@@ -34,28 +34,68 @@ describe('App.ManageAlertNotificationsView', function () {
Em.A([
{
+ isOperator: false,
selectedAlertNotification: {id: 1},
- m: 'some alert notification is selected',
+ m: 'some alert notification is selected and user is an admin',
p: {
+ isAddButtonDisabled: true,
isEditButtonDisabled: true,
isRemoveButtonDisabled: true,
isDuplicateButtonDisabled: true
},
e: {
+ isAddButtonDisabled: false,
isEditButtonDisabled: false,
isRemoveButtonDisabled: false,
isDuplicateButtonDisabled: false
}
},
{
+ isOperator: true,
+ selectedAlertNotification: {id: 1},
+ m: 'some alert notification is selected and user is a non-admin operator',
+ p: {
+ isAddButtonDisabled: true,
+ isEditButtonDisabled: true,
+ isRemoveButtonDisabled: true,
+ isDuplicateButtonDisabled: true
+ },
+ e: {
+ isAddButtonDisabled: true,
+ isEditButtonDisabled: true,
+ isRemoveButtonDisabled: true,
+ isDuplicateButtonDisabled: true
+ }
+ },
+ {
+ isOperator: false,
selectedAlertNotification: null,
- m: 'some alert notification is not selected',
+ m: 'some alert notification is not selected and user is an admin',
+ p: {
+ isAddButtonDisabled: true,
+ isEditButtonDisabled: false,
+ isRemoveButtonDisabled: false,
+ isDuplicateButtonDisabled: false
+ },
+ e: {
+ isAddButtonDisabled: true,
+ isEditButtonDisabled: true,
+ isRemoveButtonDisabled: true,
+ isDuplicateButtonDisabled: true
+ }
+ },
+ {
+ isOperator: true,
+ selectedAlertNotification: null,
+ m: 'some alert notification is not selected and user is a non-admin operator',
p: {
+ isAddButtonDisabled: true,
isEditButtonDisabled: false,
isRemoveButtonDisabled: false,
isDuplicateButtonDisabled: false
},
e: {
+ isAddButtonDisabled: true,
isEditButtonDisabled: true,
isRemoveButtonDisabled: true,
isDuplicateButtonDisabled: true
@@ -67,6 +107,7 @@ describe('App.ManageAlertNotificationsView', function () {
view.set(k, test.p[k]);
});
view.set('controller.selectedAlertNotification', test.selectedAlertNotification);
+ App.isOperator=test.isOperator;
view.buttonObserver();
Em.keys(test.e).forEach(function (k) {
expect(view.get(k)).to.equal(test.e[k]);