From 7e09995b9ce6d7e0f2db6d2717d8575789c78468 Mon Sep 17 00:00:00 2001 From: benjaminapetersen Date: Mon, 24 Oct 2016 17:11:33 -0400 Subject: [PATCH 1/2] Fix bug 1388043 --- app/scripts/controllers/membership.js | 49 +++++++++--------- dist/scripts/scripts.js | 73 ++++++++++++++------------- 2 files changed, 63 insertions(+), 59 deletions(-) diff --git a/app/scripts/controllers/membership.js b/app/scripts/controllers/membership.js index 07fdb39432..d08627f334 100644 --- a/app/scripts/controllers/membership.js +++ b/app/scripts/controllers/membership.js @@ -26,8 +26,11 @@ angular var allRoles = []; // NOTE: these could all be moved out into a strings service. - var messages = { - errorReason: _.template('Reason: "<%- httpErr %>"'), + var unescaped = { + errorReason: _.template('Reason: "<%= httpErr %>"') + }; + + var escaped = { notice: { yourLastRole: _.template('Removing the role "<%- roleName %>" may completely remove your ability to see this project.') }, @@ -88,16 +91,16 @@ angular .then(function() { resetForm(); refreshRoleBindingList(); - showAlert('rolebindingCreate', 'success', messages.update.subject.success({ + showAlert('rolebindingCreate', 'success', escaped.update.subject.success({ roleName: role.metadata.name, - subjectName: _.escape(newSubject.name) + subjectName: newSubject.name })); }, function(err) { resetForm(); - showAlert('rolebindingCreateFail', 'error', messages.update.subject.error({ + showAlert('rolebindingCreateFail', 'error', escaped.update.subject.error({ roleName: role.metadata.name, - subjectName: _.escape(newSubject.name) - }), messages.errorReason({httpErr: $filter('getErrorDetails')(err)})); + subjectName: newSubject.name + }), unescaped.errorReason({httpErr: $filter('getErrorDetails')(err)})); }); }; @@ -108,16 +111,16 @@ angular .then(function() { resetForm(); refreshRoleBindingList(); - showAlert('rolebindingUpdate', 'success', messages.update.subject.success({ + showAlert('rolebindingUpdate', 'success', escaped.update.subject.success({ roleName: rb.roleRef.name, - subjectName: _.escape(newSubject.name) + subjectName: newSubject.name })); }, function(err) { resetForm(); - showAlert('rolebindingUpdateFail', 'error', messages.update.subject.error({ + showAlert('rolebindingUpdateFail', 'error', escaped.update.subject.error({ roleName: rb.roleRef.name, - subjectName: _.escape(newSubject.name) - }), messages.errorReason({httpErr: $filter('getErrorDetails')(err)})); + subjectName: newSubject.name + }), unescaped.errorReason({httpErr: $filter('getErrorDetails')(err)})); }); }; @@ -177,26 +180,26 @@ angular var createModalScope = function(subjectName, kind, roleName, currentUserName) { var modalScope = { alerts: {}, - detailsMarkup: messages.remove.areYouSure.subject({ + detailsMarkup: escaped.remove.areYouSure.subject({ roleName: roleName, kindName: humanizeKind(kind), - subjectName: _.escape(subjectName) + subjectName: subjectName }), okButtonText: 'Remove', okButtonClass: 'btn-danger', cancelButtonText: 'Cancel' }; if(_.isEqual(subjectName, currentUserName)) { - modalScope.details = messages.remove.areYouSure.self({ + modalScope.detailsMarkup = escaped.remove.areYouSure.self({ roleName: roleName, - subjectName: _.escape(subjectName) + subjectName: subjectName }); if(MembershipService.isLastRole($scope.user.metadata.name, $scope.roleBindings)) { - showAlert('currentUserLastRole', 'error', messages.notice.yourLastRole({roleName: roleName}), null, modalScope); + showAlert('currentUserLastRole', 'error', escaped.notice.yourLastRole({roleName: roleName}), null, modalScope); } } if(_.isEqual(kind, 'ServiceAccount') && _.startsWith(roleName, 'system:')) { - showAlert('editingServiceAccountRole', 'error', messages.warning.serviceAccount(), null, modalScope); + showAlert('editingServiceAccountRole', 'error', escaped.warning.serviceAccount(), null, modalScope); } return modalScope; }; @@ -250,16 +253,16 @@ angular $location.url("./"); } else { refreshRoleBindingList(); - showAlert('rolebindingUpdate', 'success', messages.remove.success({ + showAlert('rolebindingUpdate', 'success', escaped.remove.success({ roleName: roleName, - subjectName: _.escape(subjectName) + subjectName: subjectName })); } }, function(err) { - showAlert('rolebindingUpdateFail', 'error', messages.remove.error({ + showAlert('rolebindingUpdateFail', 'error', escaped.remove.error({ roleName: roleName, - subjectName: _.escape(subjectName) - }), messages.errorReason({ + subjectName: subjectName + }), unescaped.errorReason({ httpErr: $filter('getErrorDetails')(err) })); }); diff --git a/dist/scripts/scripts.js b/dist/scripts/scripts.js index 5e065eff3c..e980fd175a 100644 --- a/dist/scripts/scripts.js +++ b/dist/scripts/scripts.js @@ -4775,7 +4775,8 @@ a !== b && (localStorage.setItem("monitoring.eventsidebar.collapsed", c.renderOp })); } ]), angular.module("openshiftConsole").controller("MembershipController", [ "$filter", "$location", "$routeParams", "$scope", "$timeout", "$uibModal", "AuthService", "AuthorizationService", "DataService", "ProjectsService", "MembershipService", "RoleBindingsService", "RolesService", function(a, b, c, d, e, f, g, h, i, j, k, l, m) { var n, o = c.project, p = a("humanizeKind"), q = a("annotation"), r = [], s = { -errorReason:_.template('Reason: "<%- httpErr %>"'), +errorReason:_.template('Reason: "<%= httpErr %>"') +}, t = { notice:{ yourLastRole:_.template('Removing the role "<%- roleName %>" may completely remove your ability to see this project.') }, @@ -4796,15 +4797,15 @@ success:_.template('The role "<%- roleName %>" was given to "<%- subjectName %>" error:_.template('The role "<%- roleName %>" was not given to "<%- subjectName %>".') } } -}, t = function(a, b, c, e, f) { +}, u = function(a, b, c, e, f) { f = f || d, f.alerts[a] = { type:b, message:c, details:e }; -}, u = function() { -d.disableAddForm = !1, d.newBinding.name = "", d.newBinding.namespace = o, d.newBinding.newRole = null; }, v = function() { +d.disableAddForm = !1, d.newBinding.name = "", d.newBinding.namespace = o, d.newBinding.newRole = null; +}, w = function() { i.list("rolebindings", n, function(a) { angular.extend(d, { canShowRoles:!0, @@ -4814,51 +4815,51 @@ subjectKindsForUI:k.mapRolebindingsForUI(a.by("metadata.name"), r) }, { errorNotification:!1 }); -}, w = function(b, c) { +}, x = function(b, c) { d.disableAddForm = !0, l.create(b, c, o, n).then(function() { -u(), v(), t("rolebindingCreate", "success", s.update.subject.success({ +v(), w(), u("rolebindingCreate", "success", t.update.subject.success({ roleName:b.metadata.name, -subjectName:_.escape(c.name) +subjectName:c.name })); }, function(d) { -u(), t("rolebindingCreateFail", "error", s.update.subject.error({ +v(), u("rolebindingCreateFail", "error", t.update.subject.error({ roleName:b.metadata.name, -subjectName:_.escape(c.name) +subjectName:c.name }), s.errorReason({ httpErr:a("getErrorDetails")(d) })); }); -}, x = function(b, c, e) { +}, y = function(b, c, e) { d.disableAddForm = !0, l.addSubject(b, c, e, n).then(function() { -u(), v(), t("rolebindingUpdate", "success", s.update.subject.success({ +v(), w(), u("rolebindingUpdate", "success", t.update.subject.success({ roleName:b.roleRef.name, -subjectName:_.escape(c.name) +subjectName:c.name })); }, function(d) { -u(), t("rolebindingUpdateFail", "error", s.update.subject.error({ +v(), u("rolebindingUpdateFail", "error", t.update.subject.error({ roleName:b.roleRef.name, -subjectName:_.escape(c.name) +subjectName:c.name }), s.errorReason({ httpErr:a("getErrorDetails")(d) })); }); -}, y = {}; -c.tab && (y[c.tab] = !0); -var z = k.getSubjectKinds(); +}, z = {}; +c.tab && (z[c.tab] = !0); +var A = k.getSubjectKinds(); angular.extend(d, { -selectedTab:y, +selectedTab:z, projectName:o, alerts:{}, forms:{}, emptyMessage:"Loading...", -subjectKinds:z, +subjectKinds:A, newBinding:{ role:"", kind:c.tab || "User", name:"" }, toggleEditMode:function() { -u(), d.mode.edit = !d.mode.edit; +v(), d.mode.edit = !d.mode.edit; }, mode:{ edit:!1 @@ -4884,24 +4885,24 @@ return a ? e + (q(a, "description") || b) :b; } } }); -var A = function(a, b, c, e) { +var B = function(a, b, c, e) { var f = { alerts:{}, -detailsMarkup:s.remove.areYouSure.subject({ +detailsMarkup:t.remove.areYouSure.subject({ roleName:c, kindName:p(b), -subjectName:_.escape(a) +subjectName:a }), okButtonText:"Remove", okButtonClass:"btn-danger", cancelButtonText:"Cancel" }; -return _.isEqual(a, e) && (f.details = s.remove.areYouSure.self({ +return _.isEqual(a, e) && (f.detailsMarkup = t.remove.areYouSure.self({ roleName:c, -subjectName:_.escape(a) -}), k.isLastRole(d.user.metadata.name, d.roleBindings) && t("currentUserLastRole", "error", s.notice.yourLastRole({ +subjectName:a +}), k.isLastRole(d.user.metadata.name, d.roleBindings) && u("currentUserLastRole", "error", t.notice.yourLastRole({ roleName:c -}), null, f)), _.isEqual(b, "ServiceAccount") && _.startsWith(c, "system:") && t("editingServiceAccountRole", "error", s.warning.serviceAccount(), null, f), f; +}), null, f)), _.isEqual(b, "ServiceAccount") && _.startsWith(c, "system:") && u("editingServiceAccountRole", "error", t.warning.serviceAccount(), null, f), f; }; g.withUser().then(function(a) { d.user = a; @@ -4912,11 +4913,11 @@ return a.metadata.name; }) }); }), j.get(c.project).then(_.spread(function(c, e) { -n = e, v(), angular.extend(d, { +n = e, w(), angular.extend(d, { project:c, -subjectKinds:z, +subjectKinds:A, confirmRemove:function(c, e, g) { -var h = null, i = A(c, e, g, d.user.metadata.name); +var h = null, i = B(c, e, g, d.user.metadata.name); _.isEqual(c, d.user.metadata.name) && k.isLastRole(d.user.metadata.name, d.roleBindings) && (h = !0), f.open({ animation:!0, templateUrl:"views/modals/confirm.html", @@ -4928,14 +4929,14 @@ return i; } }).result.then(function() { l.removeSubject(c, g, d.roleBindings, n).then(function() { -h ? b.url("./") :(v(), t("rolebindingUpdate", "success", s.remove.success({ +h ? b.url("./") :(w(), u("rolebindingUpdate", "success", t.remove.success({ roleName:g, -subjectName:_.escape(c) +subjectName:c }))); }, function(b) { -t("rolebindingUpdateFail", "error", s.remove.error({ +u("rolebindingUpdateFail", "error", t.remove.error({ roleName:g, -subjectName:_.escape(c) +subjectName:c }), s.errorReason({ httpErr:a("getErrorDetails")(b) })); @@ -4952,7 +4953,7 @@ roleRef:{ name:c.metadata.name } }); -return g ? x(g, f, e) :w(c, f, e); +return g ? y(g, f, e) :x(c, f, e); } }), m.listAllRoles(n, { errorNotification:!1 @@ -4965,7 +4966,7 @@ name:a } }); }; -v(), angular.extend(d, { +w(), angular.extend(d, { toggle:{ roles:!1 }, From 67ed4675ec23c6d6b7d11c0a6329620c3d0eebaa Mon Sep 17 00:00:00 2001 From: Samuel Padgett Date: Mon, 31 Oct 2016 12:17:55 -0400 Subject: [PATCH 2/2] Fixup HTML escaping in membership.js --- app/scripts/controllers/membership.js | 52 ++++++++++---------- dist/scripts/scripts.js | 71 ++++++++++++++------------- 2 files changed, 61 insertions(+), 62 deletions(-) diff --git a/app/scripts/controllers/membership.js b/app/scripts/controllers/membership.js index d08627f334..9908cc9ea6 100644 --- a/app/scripts/controllers/membership.js +++ b/app/scripts/controllers/membership.js @@ -25,32 +25,30 @@ angular var allRoles = []; - // NOTE: these could all be moved out into a strings service. - var unescaped = { - errorReason: _.template('Reason: "<%= httpErr %>"') - }; - - var escaped = { + var messages = { notice: { - yourLastRole: _.template('Removing the role "<%- roleName %>" may completely remove your ability to see this project.') + yourLastRole: _.template('Removing the role "<%= roleName %>" may completely remove your ability to see this project.') }, warning: { serviceAccount: _.template('Removing a system role granted to a service account may cause unexpected behavior.') }, remove: { areYouSure: { - subject: _.template('Are you sure you want to remove <%- roleName %> from the <%- kindName %> <%- subjectName %>?'), - self: _.template('Are you sure you want to remove <%- roleName %> from <%- subjectName %> (you)?') + html: { + subject: _.template('Are you sure you want to remove <%- roleName %> from the <%- kindName %> <%- subjectName %>?'), + self: _.template('Are you sure you want to remove <%- roleName %> from <%- subjectName %> (you)?') + } }, - success: _.template('The role "<%- roleName %>" was removed from "<%- subjectName %>".'), - error: _.template('The role "<%- roleName %>" was not removed from "<%- subjectName %>".') + success: _.template('The role "<%= roleName %>" was removed from "<%= subjectName %>".'), + error: _.template('The role "<%= roleName %>" was not removed from "<%= subjectName %>".') }, update: { subject: { - success: _.template('The role "<%- roleName %>" was given to "<%- subjectName %>".'), - error: _.template('The role "<%- roleName %>" was not given to "<%- subjectName %>".') + success: _.template('The role "<%= roleName %>" was given to "<%= subjectName %>".'), + error: _.template('The role "<%= roleName %>" was not given to "<%= subjectName %>".') } - } + }, + errorReason: _.template('Reason: "<%= httpErr %>"') }; // NOTE: alert service? @@ -91,16 +89,16 @@ angular .then(function() { resetForm(); refreshRoleBindingList(); - showAlert('rolebindingCreate', 'success', escaped.update.subject.success({ + showAlert('rolebindingCreate', 'success', messages.update.subject.success({ roleName: role.metadata.name, subjectName: newSubject.name })); }, function(err) { resetForm(); - showAlert('rolebindingCreateFail', 'error', escaped.update.subject.error({ + showAlert('rolebindingCreateFail', 'error', messages.update.subject.error({ roleName: role.metadata.name, subjectName: newSubject.name - }), unescaped.errorReason({httpErr: $filter('getErrorDetails')(err)})); + }), messages.errorReason({httpErr: $filter('getErrorDetails')(err)})); }); }; @@ -111,16 +109,16 @@ angular .then(function() { resetForm(); refreshRoleBindingList(); - showAlert('rolebindingUpdate', 'success', escaped.update.subject.success({ + showAlert('rolebindingUpdate', 'success', messages.update.subject.success({ roleName: rb.roleRef.name, subjectName: newSubject.name })); }, function(err) { resetForm(); - showAlert('rolebindingUpdateFail', 'error', escaped.update.subject.error({ + showAlert('rolebindingUpdateFail', 'error', messages.update.subject.error({ roleName: rb.roleRef.name, subjectName: newSubject.name - }), unescaped.errorReason({httpErr: $filter('getErrorDetails')(err)})); + }), messages.errorReason({httpErr: $filter('getErrorDetails')(err)})); }); }; @@ -180,7 +178,7 @@ angular var createModalScope = function(subjectName, kind, roleName, currentUserName) { var modalScope = { alerts: {}, - detailsMarkup: escaped.remove.areYouSure.subject({ + detailsMarkup: messages.remove.areYouSure.html.subject({ roleName: roleName, kindName: humanizeKind(kind), subjectName: subjectName @@ -190,16 +188,16 @@ angular cancelButtonText: 'Cancel' }; if(_.isEqual(subjectName, currentUserName)) { - modalScope.detailsMarkup = escaped.remove.areYouSure.self({ + modalScope.detailsMarkup = messages.remove.areYouSure.html.self({ roleName: roleName, subjectName: subjectName }); if(MembershipService.isLastRole($scope.user.metadata.name, $scope.roleBindings)) { - showAlert('currentUserLastRole', 'error', escaped.notice.yourLastRole({roleName: roleName}), null, modalScope); + showAlert('currentUserLastRole', 'error', messages.notice.yourLastRole({roleName: roleName}), null, modalScope); } } if(_.isEqual(kind, 'ServiceAccount') && _.startsWith(roleName, 'system:')) { - showAlert('editingServiceAccountRole', 'error', escaped.warning.serviceAccount(), null, modalScope); + showAlert('editingServiceAccountRole', 'error', messages.warning.serviceAccount(), null, modalScope); } return modalScope; }; @@ -253,16 +251,16 @@ angular $location.url("./"); } else { refreshRoleBindingList(); - showAlert('rolebindingUpdate', 'success', escaped.remove.success({ + showAlert('rolebindingUpdate', 'success', messages.remove.success({ roleName: roleName, subjectName: subjectName })); } }, function(err) { - showAlert('rolebindingUpdateFail', 'error', escaped.remove.error({ + showAlert('rolebindingUpdateFail', 'error', messages.remove.error({ roleName: roleName, subjectName: subjectName - }), unescaped.errorReason({ + }), messages.errorReason({ httpErr: $filter('getErrorDetails')(err) })); }); diff --git a/dist/scripts/scripts.js b/dist/scripts/scripts.js index e980fd175a..781c594ad4 100644 --- a/dist/scripts/scripts.js +++ b/dist/scripts/scripts.js @@ -4775,37 +4775,38 @@ a !== b && (localStorage.setItem("monitoring.eventsidebar.collapsed", c.renderOp })); } ]), angular.module("openshiftConsole").controller("MembershipController", [ "$filter", "$location", "$routeParams", "$scope", "$timeout", "$uibModal", "AuthService", "AuthorizationService", "DataService", "ProjectsService", "MembershipService", "RoleBindingsService", "RolesService", function(a, b, c, d, e, f, g, h, i, j, k, l, m) { var n, o = c.project, p = a("humanizeKind"), q = a("annotation"), r = [], s = { -errorReason:_.template('Reason: "<%= httpErr %>"') -}, t = { notice:{ -yourLastRole:_.template('Removing the role "<%- roleName %>" may completely remove your ability to see this project.') +yourLastRole:_.template('Removing the role "<%= roleName %>" may completely remove your ability to see this project.') }, warning:{ serviceAccount:_.template("Removing a system role granted to a service account may cause unexpected behavior.") }, remove:{ areYouSure:{ +html:{ subject:_.template("Are you sure you want to remove <%- roleName %> from the <%- kindName %> <%- subjectName %>?"), self:_.template("Are you sure you want to remove <%- roleName %> from <%- subjectName %> (you)?") +} }, -success:_.template('The role "<%- roleName %>" was removed from "<%- subjectName %>".'), -error:_.template('The role "<%- roleName %>" was not removed from "<%- subjectName %>".') +success:_.template('The role "<%= roleName %>" was removed from "<%= subjectName %>".'), +error:_.template('The role "<%= roleName %>" was not removed from "<%= subjectName %>".') }, update:{ subject:{ -success:_.template('The role "<%- roleName %>" was given to "<%- subjectName %>".'), -error:_.template('The role "<%- roleName %>" was not given to "<%- subjectName %>".') +success:_.template('The role "<%= roleName %>" was given to "<%= subjectName %>".'), +error:_.template('The role "<%= roleName %>" was not given to "<%= subjectName %>".') } -} -}, u = function(a, b, c, e, f) { +}, +errorReason:_.template('Reason: "<%= httpErr %>"') +}, t = function(a, b, c, e, f) { f = f || d, f.alerts[a] = { type:b, message:c, details:e }; -}, v = function() { +}, u = function() { d.disableAddForm = !1, d.newBinding.name = "", d.newBinding.namespace = o, d.newBinding.newRole = null; -}, w = function() { +}, v = function() { i.list("rolebindings", n, function(a) { angular.extend(d, { canShowRoles:!0, @@ -4815,51 +4816,51 @@ subjectKindsForUI:k.mapRolebindingsForUI(a.by("metadata.name"), r) }, { errorNotification:!1 }); -}, x = function(b, c) { +}, w = function(b, c) { d.disableAddForm = !0, l.create(b, c, o, n).then(function() { -v(), w(), u("rolebindingCreate", "success", t.update.subject.success({ +u(), v(), t("rolebindingCreate", "success", s.update.subject.success({ roleName:b.metadata.name, subjectName:c.name })); }, function(d) { -v(), u("rolebindingCreateFail", "error", t.update.subject.error({ +u(), t("rolebindingCreateFail", "error", s.update.subject.error({ roleName:b.metadata.name, subjectName:c.name }), s.errorReason({ httpErr:a("getErrorDetails")(d) })); }); -}, y = function(b, c, e) { +}, x = function(b, c, e) { d.disableAddForm = !0, l.addSubject(b, c, e, n).then(function() { -v(), w(), u("rolebindingUpdate", "success", t.update.subject.success({ +u(), v(), t("rolebindingUpdate", "success", s.update.subject.success({ roleName:b.roleRef.name, subjectName:c.name })); }, function(d) { -v(), u("rolebindingUpdateFail", "error", t.update.subject.error({ +u(), t("rolebindingUpdateFail", "error", s.update.subject.error({ roleName:b.roleRef.name, subjectName:c.name }), s.errorReason({ httpErr:a("getErrorDetails")(d) })); }); -}, z = {}; -c.tab && (z[c.tab] = !0); -var A = k.getSubjectKinds(); +}, y = {}; +c.tab && (y[c.tab] = !0); +var z = k.getSubjectKinds(); angular.extend(d, { -selectedTab:z, +selectedTab:y, projectName:o, alerts:{}, forms:{}, emptyMessage:"Loading...", -subjectKinds:A, +subjectKinds:z, newBinding:{ role:"", kind:c.tab || "User", name:"" }, toggleEditMode:function() { -v(), d.mode.edit = !d.mode.edit; +u(), d.mode.edit = !d.mode.edit; }, mode:{ edit:!1 @@ -4885,10 +4886,10 @@ return a ? e + (q(a, "description") || b) :b; } } }); -var B = function(a, b, c, e) { +var A = function(a, b, c, e) { var f = { alerts:{}, -detailsMarkup:t.remove.areYouSure.subject({ +detailsMarkup:s.remove.areYouSure.html.subject({ roleName:c, kindName:p(b), subjectName:a @@ -4897,12 +4898,12 @@ okButtonText:"Remove", okButtonClass:"btn-danger", cancelButtonText:"Cancel" }; -return _.isEqual(a, e) && (f.detailsMarkup = t.remove.areYouSure.self({ +return _.isEqual(a, e) && (f.detailsMarkup = s.remove.areYouSure.html.self({ roleName:c, subjectName:a -}), k.isLastRole(d.user.metadata.name, d.roleBindings) && u("currentUserLastRole", "error", t.notice.yourLastRole({ +}), k.isLastRole(d.user.metadata.name, d.roleBindings) && t("currentUserLastRole", "error", s.notice.yourLastRole({ roleName:c -}), null, f)), _.isEqual(b, "ServiceAccount") && _.startsWith(c, "system:") && u("editingServiceAccountRole", "error", t.warning.serviceAccount(), null, f), f; +}), null, f)), _.isEqual(b, "ServiceAccount") && _.startsWith(c, "system:") && t("editingServiceAccountRole", "error", s.warning.serviceAccount(), null, f), f; }; g.withUser().then(function(a) { d.user = a; @@ -4913,11 +4914,11 @@ return a.metadata.name; }) }); }), j.get(c.project).then(_.spread(function(c, e) { -n = e, w(), angular.extend(d, { +n = e, v(), angular.extend(d, { project:c, -subjectKinds:A, +subjectKinds:z, confirmRemove:function(c, e, g) { -var h = null, i = B(c, e, g, d.user.metadata.name); +var h = null, i = A(c, e, g, d.user.metadata.name); _.isEqual(c, d.user.metadata.name) && k.isLastRole(d.user.metadata.name, d.roleBindings) && (h = !0), f.open({ animation:!0, templateUrl:"views/modals/confirm.html", @@ -4929,12 +4930,12 @@ return i; } }).result.then(function() { l.removeSubject(c, g, d.roleBindings, n).then(function() { -h ? b.url("./") :(w(), u("rolebindingUpdate", "success", t.remove.success({ +h ? b.url("./") :(v(), t("rolebindingUpdate", "success", s.remove.success({ roleName:g, subjectName:c }))); }, function(b) { -u("rolebindingUpdateFail", "error", t.remove.error({ +t("rolebindingUpdateFail", "error", s.remove.error({ roleName:g, subjectName:c }), s.errorReason({ @@ -4953,7 +4954,7 @@ roleRef:{ name:c.metadata.name } }); -return g ? y(g, f, e) :x(c, f, e); +return g ? x(g, f, e) :w(c, f, e); } }), m.listAllRoles(n, { errorNotification:!1 @@ -4966,7 +4967,7 @@ name:a } }); }; -w(), angular.extend(d, { +v(), angular.extend(d, { toggle:{ roles:!1 },