I need to attach an event receiver to a content type created by SharePoint:
FolderCT.EventReceivers.Add(SPEventReceiverType.ItemAdding, SharepointReceiversAssemblyName, CTReceiverName);
FolderCT.Update();
Unfortunately I get the error:
Folder at "/" is sealed
So, to go around the problem - I'm running the whole snippet under elevated privileges, and I'm setting Sealed to false. Is this a bad idea?
SPSecurity.RunWithElevatedPrivileges(delegate()
{
SPContentType FolderCT = web.ParentWeb.ContentTypes[SPBuiltInContentTypeId.Folder];
FolderCT.Sealed = false;
FolderCT.Update();
FolderCT.EventReceivers.Add(SPEventReceiverType.ItemAdding, SharepointReceiversAssemblyName, CTReceiverName);
FolderCT.Update();
FolderCT.Sealed = true;
FolderCT.Update();
});