Ok, heres what you do:
You create a new project, copy the default controlpanel ascx from dnn to your project.
Include the app_resources folder.
rename your class, resolve the references. edit the page load near the bottem.
Have it detect when your user isinrole then make grey and disabled the icons you dont want functional
Heres what I do for Teachers
If
PortalSecurity.IsInRole("Teacher") AndAlso ouser.IsSuperUser = False Then
'Me.imgAddTabIcon.ImageUrl = "~/Admin/ControlPanel/images/iconbar_addtab_bw.gif"
'cmdAddTab.Enabled = False
'cmdAddTabIcon.Enabled = False
imgEditTabIcon.ImageUrl = "~/Admin/ControlPanel/images/iconbar_edittab_bw.gif"
cmdEditTab.Enabled =
False
cmdEditTabIcon.Enabled =
False
imgDeleteTabIcon.ImageUrl = "~/Admin/ControlPanel/images/iconbar_deletetab_bw.gif"
cmdDeleteTab.Enabled =
False
cmdDeleteTabIcon.Enabled =
False
imgCopyTabIcon.ImageUrl = "~/Admin/ControlPanel/images/iconbar_copytab_bw.gif"
cmdCopyTab.Enabled =
False
cmdCopyTabIcon.Enabled =
False
'Else
ClientAPI.AddButtonConfirm(cmdDeleteTab, Services.Localization.Localization.GetString("DeleteTabConfirm",
Me.LocalResourceFile))
ClientAPI.AddButtonConfirm(cmdDeleteTabIcon, Services.Localization.Localization.GetString("DeleteTabConfirm",
Me.LocalResourceFile))
imgWizardIcon.ImageUrl = "~/Admin/ControlPanel/images/iconbar_wizard_bw.gif"
cmdWizard.Enabled =
False
cmdWizardIcon.Enabled =
False
imgSiteIcon.ImageUrl = "~/Admin/ControlPanel/images/iconbar_site_bw.gif"
cmdSite.Enabled =
False
cmdSiteIcon.Enabled =
False
imgUsersIcon.ImageUrl = "~/Admin/ControlPanel/images/iconbar_users_bw.gif"
cmdUsers.Enabled =
False
cmdUsersIcon.Enabled =
False
imgFilesIcon.ImageUrl = "~/Admin/ControlPanel/images/iconbar_files_bw.gif"
cmdFiles.Enabled =
False
cmdFilesIcon.Enabled =
False
End If
After all of this, you need to add a role to modulecontrols for the new panel and set your default panel in your host settings.