Cleanup "rights" function

Since a success followed by a failure is still a success, there is no reason to check the rest

In addition, consolidating the logic to remove the local "good" since it isn't needed