Adding RoleDecorator, tests and updating the UserFormType to start work on role management when adding/editing a user
Adding test logic to stubs in RoleDecoratorTest
Updating RoleDecorator to satisfy tests
Adding RoleProviderInterface
Adding ContainerRoleProvider and tests, which will provide available roles configured in the service container
Adding missing RoleDecoratorInterface
Renaming RoleDecorator --> UserFriendlyRoleDecorator to be more specific
Updating return type phpdoc in ContainerRoleProvider
Fixing ContainerRoleProvider logic so that it finds all reachable roles from the super admin
Adding RolesFormType, updating form service configuration
Making extensions property protected in AbstractFormTypeTestCase
Updating UserFormType so that it doesn't depend on the injected RolesFormType (uses type string instead), updating test assertions
Adding test to ensure empty roles results in an empty choice set in RolesFormType
Updating RoleProviderInterface so that it provides two methods, getAllRoles() and getReachableRolesForRole()
Fixing test assertions around RoleDecoratorInterface methods in RolesFormTypeTest and UserFormTypeTest
Updating RoleProviderInterface::getReachableRolesForRole() to accept an array of or a single RoleInterface instance
Updating logic on RolesFormType so that only roles that the currently logged in User can reach are editable, to prevent users granting roles that they don't have themselves
Updating UserFormTypeTest to use updated mocks for RoleProviderInterface, SecurityContextInterface
Updating ContainerRoleProvider so that it handles role strings as argument as well as RoleInterface instances
Merge branch 'master' into feature/user-roles-in-form