RANGER-2153 Supply the function of reverting policy history version.

Signed-off-by: pengjianhua <[email protected]>


Project: http://git-wip-us.apache.org/repos/asf/ranger/repo
Commit: http://git-wip-us.apache.org/repos/asf/ranger/commit/e902bef0
Tree: http://git-wip-us.apache.org/repos/asf/ranger/tree/e902bef0
Diff: http://git-wip-us.apache.org/repos/asf/ranger/diff/e902bef0

Branch: refs/heads/ranger-1.1
Commit: e902bef006690c7d5a92c8f48857a622f0293073
Parents: 3598282
Author: 洪一帆6186000050 <[email protected]>
Authored: Fri Jul 27 14:28:24 2018 +0800
Committer: Mehul Parikh <[email protected]>
Committed: Tue Sep 4 11:34:41 2018 +0530

----------------------------------------------------------------------
 .../scripts/views/policies/RangerPolicyRO.js    | 27 ++++++++++++++++++++
 .../views/policies/RangerPolicyTableLayout.js   |  3 +++
 2 files changed, 30 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ranger/blob/e902bef0/security-admin/src/main/webapp/scripts/views/policies/RangerPolicyRO.js
----------------------------------------------------------------------
diff --git 
a/security-admin/src/main/webapp/scripts/views/policies/RangerPolicyRO.js 
b/security-admin/src/main/webapp/scripts/views/policies/RangerPolicyRO.js
index a0b46fd..1e3554f 100644
--- a/security-admin/src/main/webapp/scripts/views/policies/RangerPolicyRO.js
+++ b/security-admin/src/main/webapp/scripts/views/policies/RangerPolicyRO.js
@@ -30,6 +30,7 @@ define(function(require) {
 
        var RangerPolicyROTmpl = 
require('hbs!tmpl/policies/RangerPolicyRO_tmpl');
        var RangerService = require('models/RangerService');
+       var RangerPolicy                = require('models/RangerPolicy');
 
        var RangerPolicyRO = Backbone.Marionette.Layout.extend({
                _viewName: 'RangerPolicyRO',
@@ -268,6 +269,7 @@ define(function(require) {
                        this.render();
                        var verEl = $(e.currentTarget).parent();
                        verEl.find('text').text('Version 
'+this.policy.get('version'));
+                       var reverEl = verEl.next('#revert');
                        var prevEl = verEl.find('#preVer'),
                                nextEl = verEl.find('#nextVer');
                        if(this.policy.get('version')>1){
@@ -278,11 +280,36 @@ define(function(require) {
                        var policyVerIndexAt = 
this.policyVersionList.indexOf(this.policy.get('version').toString());
                        
if(!_.isUndefined(this.policyVersionList[++policyVerIndexAt])){
                                nextEl.addClass('active');
+                               reverEl.css('display','');
                        }else{
                                nextEl.removeClass('active');
+                               reverEl.css('display','none');
                        }
                },
 
+               revert : function(e){
+                       e.preventDefault();
+                       var policyId = this.policy.attributes.id;
+                       var rangerPolicy = new RangerPolicy({id : policyId});
+                       rangerPolicy.attributes = this.policy.attributes;
+                       rangerPolicy.save({}, {
+                               wait: true,
+                               success: function() {
+                                       XAUtil.blockUI('unblock');
+                                       XAUtil.notifySuccess('Success', 'Policy 
reverted successfully.');
+                                       location.reload();
+                               },
+                               error: function(model, response, options) {
+                                       XAUtil.blockUI('unblock');
+                                       if(response && response.responseJSON && 
response.responseJSON.msgDesc) {
+                                               
XAUtil.showErrorMsg(response.responseJSON.msgDesc);
+                                       } else {
+                                               XAUtil.notifyError('Error', 
'Error reverting policy.');
+                                       }
+                               }
+                       });
+               },
+
                /** on close */
                onClose: function() {}
        });

http://git-wip-us.apache.org/repos/asf/ranger/blob/e902bef0/security-admin/src/main/webapp/scripts/views/policies/RangerPolicyTableLayout.js
----------------------------------------------------------------------
diff --git 
a/security-admin/src/main/webapp/scripts/views/policies/RangerPolicyTableLayout.js
 
b/security-admin/src/main/webapp/scripts/views/policies/RangerPolicyTableLayout.js
index 206bb96..83253e4 100644
--- 
a/security-admin/src/main/webapp/scripts/views/policies/RangerPolicyTableLayout.js
+++ 
b/security-admin/src/main/webapp/scripts/views/policies/RangerPolicyTableLayout.js
@@ -202,6 +202,9 @@ define(function(require){
                                policyVerEl.append('<i id="nextVer" 
class="icon-chevron-right ' + 
(!_.isUndefined(policyVersionList[++policyVerIndexAt]) ? 'active' : '') + 
'"></i>').find('#nextVer').click(function(e) {
                                        view.nextVer(e);
                                });
+                               policyVerEl.after('<a id="revert" href="#" 
class="btn btn-primary" 
style="display:none;">Revert</a>').next('#revert').click(function(e){
+                                       view.revert(e);
+                               });
                                modal.$el.find('.cancel').hide();
                        });
                },

Reply via email to