Unless the staff is a superlibrarian, don't allow them to change their own permissions. This will prevent staff who have permission to set permissions, to assign themselves higher levels of permissions.
*** Bug 6784 has been marked as a duplicate of this bug. ***
Created attachment 9906 [details] [review] Sending Improved Patch
The Patch which I send was wrong Patch. Working on This Patch.
This seems to work on current master. To verify: - Give a test user following permisson - borrowers Add, modify and view patron information - permissions Set user permissions - Log in as test user - Search a user, change the permission -> possible - Search test user, try to change the permission -> error page not allowed Though, because the borrowers permission is needed, somebody could create a new patron and set there a higher level of permissions.
There is also the ProtectSuperlibrarianPrivileges system preference now, but I am not sure how to resolve the scenario Marc has pointed out. I think the only solution is to only give 'permissions' to users you trust.