Bug #14339
openPuppetClassImporter doesn't respect access control or taxonomies
Description
Description of problem:
Unprivileged user can import classes and environments that are filtered out.
How reproducible:
always
Steps to Reproduce:
1. Create 2 puppet environments (env1, env2)
2. Import 2 puppet classes (ntp, motd) make both in env1 & only ntp in env2.
3. Create a limited access user so they have all access to env2 and motd. No access to env1 or ntp
4. Make changes to puppet class ntp in env2
5. hit Import from xxxx
6. page displayed will show changes about ntp in env2 (which it shouldn't, this user has no access to them)
7. Hit update and changes will by "imported"
Another slightly different example:
1. Create new org which your test user has no access to.
2. Create another environment on disk (env3) assign to this new org
3. Hit import from xxx as admin user (until there are no changes required)
4. login as test user, hit import from xxx
5. page will display new env3 (as your current user cannot view it)
6. hit update and you'll get "Validation failed: Name has already been taken" it tries to create new environment that is already in the DB
Expected results:
"Import from xxx" to respect access controls of environments/puppetclasses taxonomies.
Tested on nightly but I believe it'll work in 1.10, i don't think there has been changes to this recently.