- Type
- Name
- Author
- Modified By
Here is the code:
private void SetDocumentLibraryWithAuthorSiteColumn()
{
SPSecurity.RunWithElevatedPrivileges(delegate()
{
using (SPSite elevatedSite = new SPSite(SPContext.Current.Site.ID))
{
using (SPWeb elevatedWeb = elevatedSite.OpenWeb(SPContext.Current.Web.ID))
{
if (elevatedWeb.Name != "Library")
{
elevatedWeb.AllowUnsafeUpdates = true;
SPList list = elevatedWeb.GetList(SPContext.Current.RootFolderUrl);
SPView view = list.Views["All Documents"];
if (!list.Fields.ContainsField("_Author"))
{
// Add existing site cloumn (Author)
list.Fields.Add(elevatedWeb.AvailableFields["Author"]);
// Delete the following columns from Default View
if (view.ViewFields.Exists("Modified"))
view.ViewFields.Delete("Modified");
if (view.ViewFields.Exists("Editor"))
view.ViewFields.Delete("Editor");
if (view.ViewFields.Exists("CheckoutUser"))
view.ViewFields.Delete("CheckoutUser");
if (list.Fields.ContainsField("DocmentDescriptionMP"))
{
if (view.ViewFields.Exists("DocmentDescriptionMP"))
view.ViewFields.Delete("DocmentDescriptionMP");
}
if (list.Fields.ContainsField("DocmentDescriptionMP"))
{
if (view.ViewFields.Exists("GLDepartmentMP"))
view.ViewFields.Delete("GLDepartmentMP");
}
// Add the following columns to Default View
view.ViewFields.Add("_Author");
view.ViewFields.Add("Editor");
view.Update();
}
list.Update();
}
}
}
});
}
No comments:
Post a Comment