Thanks @Marek, your suggestion got worked out.
check DeviceEditor control (sitecore\shell\Applications\Layouts\DeviceEditor\DeviceEditor.xml)
change CodeBeside to your custom class inheriting from the original Sitecore. Shell.Applications.Layouts.DeviceEditor.DeviceEditorForm overwrite OnLoad method to hide PlaceholdersTab from the DeviceEditor.xml.
- Check DeviceEditor control (sitecore\shell\Applications\Layouts\DeviceEditor\DeviceEditor.xml)
- Change CodeBeside to your custom class inheriting from the original Sitecore.(Shell.Applications.Layouts.DeviceEditor.DeviceEditorForm)
- Overwrite OnLoad method to hide PlaceholdersTab from the DeviceEditor.xml
Here is the custom logic to restrict the access to specific role:
public class DeviceEditorForm : Sitecore.Shell.Applications.Layouts.DeviceEditor.DeviceEditorForm
{
protected override void OnLoad(EventArgs e)
{
Assert.ArgumentNotNull(e, "e");
base.OnLoad(e);
if (!Context.ClientPage.IsEvent && Sitecore.Context.User.IsInRole(ContentAuthor))
{
Layout.Visible = false;
Placeholders.Visible = false;
}
}
}