open-consul/ui-v2/app/utils
John Cowen 751f8552b2
UI: Removes success notification on faking a success response for `self` (#4906)
In order to continue supporting the legacy ACL system, we replace
the 500 error from a non-existent `self` endpoint with a response of a
`null` `AccessorID` - which makes sense (a null AccessorID means old
API)

We then redirect the user to the old ACL pages which then gives a 403
if their token was wrong which then redirects them back to the login page.

Due to the multiple redirects and not wanting to test the validity of the token
before redirecting (thus calling the same API endpoint twice), it is not
straightforwards to turn the 'faked' response from the `self` endpoint
into an error (flash messages are 'lost' through multiple redirects).

In order to make this a slightly better experience, you can now return a
`false` during execution of an action requiring success/failure
feedback, this essentially skips the notification, so if the action is
'successful' but you don't want to show the notification, you can. This
resolves showing a successful notification when the `self` endpoint
response is faked. The last part of the puzzle is to make sure that the
global 403 catching error in the application Route also produces an
erroneous notification.

Please note this can only happen with a ui client using the new ACL
system when communicating with a cluster using the old ACL system, and
only when you enter the wrong token.

Lastly, further acceptance tests have been added around this

This commit also adds functionality to avoid any possible double 
notification messages, to avoid UI overlapping
2018-11-07 15:57:41 +00:00
..
dom UI: New ACLs (#4789) 2018-10-19 08:45:05 -07:00
editor ui: Adds multi syntax linting to the code editor (#4814) 2018-10-19 17:36:38 +01:00
form UI: New ACLs (#4789) 2018-10-19 08:45:05 -07:00
helpers UI: Reduce in-development deprecations (also use toLocaleString) (#4677) 2018-10-01 13:42:42 +01:00
http UI: Catch 500 error on token endpoint and revert to legacy tokens (#4874) 2018-11-02 14:44:36 +00:00
model Tie up real endpoints 2018-06-25 12:25:15 -07:00
storage UI: New ACLs (#4789) 2018-10-19 08:45:05 -07:00
acls-status.js UI: Removes success notification on faking a success response for `self` (#4906) 2018-11-07 15:57:41 +00:00
ascend.js UI V2 (#4086) 2018-05-10 19:52:53 +01:00
atob.js ui: Move the text encoding polyfill to a a proper detecting polyfill (#4767) 2018-10-08 17:47:44 +01:00
btoa.js ui: Move the text encoding polyfill to a a proper detecting polyfill (#4767) 2018-10-08 17:47:44 +01:00
callable-type.js More detailed error messages for duplicate intentions 2018-06-25 12:25:15 -07:00
confirm.js UI V2 (#4086) 2018-05-10 19:52:53 +01:00
createURL.js UI V2 (#4086) 2018-05-10 19:52:53 +01:00
distance.js ui: Some trivial test additions, support env var passing of port numbers (#4728) 2018-10-26 17:50:43 +01:00
error.js UI V2 (#4086) 2018-05-10 19:52:53 +01:00
get-component-factory.js Make sure `didAppear` and therefore `resize` is called on change 2018-06-12 11:24:36 +01:00
get-form-name-property.js UI: New ACLs (#4789) 2018-10-19 08:45:05 -07:00
hasStatus.js UI V2 (#4086) 2018-05-10 19:52:53 +01:00
injectableRequestToJQueryAjaxHash.js ui: Some trivial test additions, support env var passing of port numbers (#4728) 2018-10-26 17:50:43 +01:00
isFolder.js UI V2 (#4086) 2018-05-10 19:52:53 +01:00
keyToArray.js UI V2 (#4086) 2018-05-10 19:52:53 +01:00
left-trim.js Adds filtering to the KV listing page 2018-06-12 11:24:35 +01:00
makeAttrable.js UI V2 (#4086) 2018-05-10 19:52:53 +01:00
promisedTimeout.js UI: Tooltips and feedback-dialogs are the same thing - merge (#4678) 2018-09-21 11:13:21 +01:00
remove-null.js Don't clone prev, there's no need 2018-07-06 13:09:23 +01:00
right-trim.js Adds filtering to the KV listing page 2018-06-12 11:24:35 +01:00
sumOfUnhealthy.js UI V2 (#4086) 2018-05-10 19:52:53 +01:00
templatize.js UI: New ACLs (#4789) 2018-10-19 08:45:05 -07:00
tomography.js ui: Some trivial test additions, support env var passing of port numbers (#4728) 2018-10-26 17:50:43 +01:00
ucfirst.js UI V2 (#4086) 2018-05-10 19:52:53 +01:00
update-array-object.js UI: New ACLs (#4789) 2018-10-19 08:45:05 -07:00