The user admin tab currently only enables the admin to set the user's home folder. The name of the tab implies greater functionality. We can partially meet this goal by adding a link to /ccm/admin/ so that all the user admin functionality is at least linked from a single tab.
The user admin tab is displayed conditionally based on whether or not the logged in user has the SecurityConstants.STAFF_ADMIN privilege on the current content section. This is done in generateXML in //cms/dev/src/com/arsdigita/cms/ui/UserAdminPane.java The /ccm/admin/ UI is backed by //core-platform/dev/src/com/arsdigita/ui/admin/AdminDispatcher.java. It checks if the user has the PrivilegeDescriptor.ADMIN privilege on the current site node. (The actual check is performed in the superclass //core-platform/dev/src/com/arsdigita/ui/admin/SubsiteDispatcher.java.) So, these two pages require two different kinds of permission. Thus, our options are: 1. Display the "/ccm/admin/" link on the content section's user admin tab regardless of whether the user can access /ccm/admin/ or not. 2. Display the link conditionally by checking first if the user will be able to actually view /ccm/admin/. This can be done by copying and pasting the permission check from SubsiteDispatcher into UserAdminPane. Which option should I pursue?
I think the latter is more user friendly.
Fixed on the trunk in change 39810. In the process of working on this, discovered and eliminated a particularly egregious instance of copy-and-paste programming. See change 39792.
verified