2009-07-08 2 views
5

Я написал функцию (область с областью действия), которая добавляет пользовательские пункты меню в новое меню и EditControlBlock библиотеки документов SharePoint 2007. Эти пункты меню должны отображаться только тогда, когда пользователь добавляет и редактирует разрешения для этой библиотеки документов. Это отлично работает, за исключением одного конкретного случая, когда пользователь имеет только разрешение на чтение для родительского сайта, но имеет полный контроль над библиотекой документов. В этом случае элементы меню в EditControlBlock отображаются правильно, но пункты меню в меню «Новый» не отображаются. Я установил одинаковые права для всех пунктов меню. Ниже приведены примеры записей в файле манифеста и элементов.Проблема SharePoint при добавлении пользовательского элемента меню в библиотеке документов

<?xml version="1.0" encoding="utf-8" ?> 
<Feature 
    Id="59bba8e7-0cfc-46e3-9285-4597f8085e76" 
    Title="My Custom Menus" 
    Scope="Site" 
    xmlns="http://schemas.microsoft.com/sharepoint/"> 
    <ElementManifests> 
    <ElementManifest Location="Elements.xml" /> 
    </ElementManifests> 
</Feature> 


<?xml version="1.0" encoding="utf-8" ?> 
<Elements xmlns="http://schemas.microsoft.com/sharepoint/"> 

<CustomAction Id="EditMenu1" RegistrationType="FileType" RegistrationId="txt" Location="EditControlBlock" Sequence="106" ImageUrl="/_layouts/images/PPT16.GIF" Title="My Edit Menu" Rights="AddListItems,EditListItems"> 
    <UrlAction Url="javascript:var surl='{SiteUrl}'; window.location='/test/mypage.aspx?siteurl='+surl+'&amp;itemurl={ItemUrl}&amp;itemid={ItemId}&amp;listid={ListId}&amp;Source='+window.location" /> 
    </CustomAction> 

<CustomAction Id="NewMenu1" GroupId="NewMenu" RegistrationType="List" RegistrationId="101" Location="Microsoft.SharePoint.StandardMenu" Sequence="1002" ImageUrl ="/_layouts/images/DOC32.GIF" Title="My New Menu" Rights="AddListItems,EditListItems"> 
    <UrlAction Url="javascript:var surl='{SiteUrl}'; window.location='/test/mypage.aspx?siteurl='+surl+'&amp;listid={ListId}&amp;Source='+window.location" /> 
    </CustomAction> 
</Elements> 

Я ничего не теряю? Пожалуйста посоветуй.

С уважением, Джаганнатха

+2

Интересный вопрос, я просто пытаюсь выяснить, почему, вы знаете, если я что-нибудь. – Kusek

ответ

-1

вам может понадобиться, чтобы попытаться повысить свои полномочия в коде.

SPSecurity.RunWithElevatedPrivileges(delegate() 
{ 
    using (SPSite site = new SPSite(web.Site.ID)) 
    { 
    // implementation details omitted 
    } 
}); 

run with elevated permissions

+0

Какой код? Как это связано с вышеуказанным вопросом? – Shoban

Смежные вопросы