0

I'm feeling my way through being a site collection admin. I have a home page I wish to remove all sharepoint elements and just have a table of buttons. I've done this by added this CSS to a CEWP:

<style>

#welcomeMenuBox {
    display: none;
}

#globalNavBox { display: none; }

#suiteBarLeft {
    display: none;
}

#titleAreaBox {
    display: none;
}


#ms-help {
    display: none;
}

#RibbonContainer-TabRowRight {
    display: none;
}
/* Hide the BROWSE and PAGE Tabs */
.ms-cui-tts { display : none; }

.ms-breadcrumb-top {
    white-space: nowrap;
    display: none;
}

.ms-dialogHidden {
     display: none;
}
.ms-cui-topBar2 {
     display: none;
}
</style>

I wanted to limit this however so that non admins of the site see the stripped page and admins see everything. I thought I would do this by audience targetting the CEWPs for readers and then make another CEWP to hide that webpart for admins using this:

<style type="text/css">
#MSOZoneCell_WebPartWPQ2
{
    display:none !important;
}
</style>

This doesn't work as the CSS from the first webpart seems to bleed through. I found online that this code can help:

<script type="text/javascript">
    $(function(){
        if(_spPageContextInfo.isSiteAdmin){
            // show your element
        }
    });
</script> 

So it checks if user is admin and performs an action, but I have no idea how to implement it here.

Any ideas?

2 Answers 2

0

i think you have already did all the home work to achieve your functionality.I can help you little bit here how you can combine Javascript and css together and implement it.

<script src="http://ajax.googleapis.com/ajax/libs/jquery/2.0.2/jquery.min.js"></script>


        <script type="text/javascript">
                                   if(!_spPageContextInfo.isSiteAdmin){ //if user is not side admin then hide the controls

    // here you can hide these control using below code not directly using css in cewp

    $("#welcomeMenuBox").css({"display": "none"}); //if you have jquery loaded

        // if you dont want to use jquery then use below code to apply css to your div element

    document.getElementById("welcomeMenuBox").style.display = 'none';

                    }

            </script> 

Hope it helps.

Edited i think you want to use only javascript

 <script type="text/javascript">
                                   if(!_spPageContextInfo.isSiteAdmin){ //if user is not side admin then hide the controls
              document.getElementById("welcomeMenuBox").style.display = 'none';

}
7
  • Thanks. I added this to the page in a script part and used the following (seems I can't past what I used, too many chars. Hmmmmm). Basically, it doesn't hide anything. When I log on as my guest account, everything is still present. pastebin.com/d6Lccx7n Commented Aug 18, 2018 at 5:54
  • I saw your code it seems you want to use only javascript no jquery. <script type="text/javascript"> if(!_spPageContextInfo.isSiteAdmin){ //if user is not side admin then hide the controls // if you dont want to use jquery then use below code to apply css to your div element document.getElementById("welcomeMenuBox").style.display = 'none'; .it should work i have tested also now. but I think if you refrence jquery in your CEWP then it will easy to apply the css and get the element by css also } </script> Commented Aug 18, 2018 at 6:25
  • I think I do want to use jquery, how do easily reference it? Commented Aug 18, 2018 at 6:54
  • <script src="ajax.googleapis.com/ajax/libs/jquery/2.0.2/…> you can add at top inside CEWP webpart. Edited the Answer with Jquery Refrence Commented Aug 18, 2018 at 7:05
  • Thanks again. I've added that and used the following pastebin.com/hNbssXXT But it hides everything for everyone, admins included. Commented Aug 18, 2018 at 7:22
0

You can use a security trimmed control to restrict certain things by permission level.

<Sharepoint:SPSecurityTrimmedControl runat="server" Permissions="ManageWeb">
      Place your control(s), HTML, CSS, script, etc. here
</SharePoint:SPSecurityTrimmedControl>

Under Permissions, ManageWeb is the permission level that...

"Grants the ability to perform all administration tasks for the Web site as well as manage content. Activate, deactivate, or edit properties of Web site scoped Features through the object model or through the user interface (UI). When granted on the root Web site of a site collection, activate, deactivate, or edit properties of site collection scoped Features through the object model. To browse to the Site Collection Features page and activate or deactivate site collection scoped Features through the UI, you must be a site collection administrator."

You also have FullMask:

"Has all permissions on the Web site. Not available through the user interface."

For your case, you could combine a higher permission level with a lower level, like ViewListItems, to create CSS that hides the elements for all users and then re-shows for users with admin level permissions. Like so:

<Sharepoint:SPSecurityTrimmedControl runat="server" Permissions="ViewListItems">
    <!-- OR LINK TO A CSS FILE -->
    <style>
    #welcomeMenuBox,
    #globalNavBox,
    #suiteBarLeft,
    #titleAreaBox,
    #ms-help,
    #RibbonContainer-TabRowRight,
    .ms-cui-tts,
    .ms-breadcrumb-top,
    .ms-dialogHidden,
    .ms-cui-topBar2 {
         display: none;
    }
    </style>
</SharePoint:SPSecurityTrimmedControl>

<Sharepoint:SPSecurityTrimmedControl runat="server" Permissions="ManageWeb">
    <!-- OR LINK TO A CSS FILE -->
    <style>
    #welcomeMenuBox,
    #globalNavBox,
    #suiteBarLeft,
    #titleAreaBox,
    #ms-help,
    #RibbonContainer-TabRowRight,
    .ms-cui-tts,
    .ms-breadcrumb-top,
    .ms-dialogHidden,
    .ms-cui-topBar2 {
         display: initial;
    }
    </style>
</SharePoint:SPSecurityTrimmedControl>

Here is a full list of possible members that you can use for Permissions. I would provide a link but I think MSFT has removed the resource. :-(

EmptyMask Has no permissions on the Web site. Not available through the user interface.

ViewListItems View items in lists, documents in document libraries, and view Web discussion comments.

AddListItems Add items to lists, add documents to document libraries, and add Web discussion comments.

EditListItems Edit items in lists, edit documents in document libraries, edit Web discussion comments in documents, and customize Web Part Pages in document libraries.

DeleteListItems Delete items from a list, documents from a document library, and Web discussion comments in documents.

ApproveItems Approve a minor version of a list item or document.

OpenItems View the source of documents with server-side file handlers.

ViewVersions View past versions of a list item or document.

DeleteVersions Delete past versions of a list item or document.

CancelCheckout Discard or check in a document which is checked out to another user.

ManagePersonalViews Create, change, and delete personal views of lists.

ManageLists Create and delete lists, add or remove columns in a list, and add or remove public views of a list.

ViewFormPages View forms, views, and application pages, and enumerate lists.

AnonymousSearchAccessList Make content of a list or document library retrieveable for anonymous users through SharePoint search. The list permissions in the site do not change.

Open Allow users to open a Web site, list, or folder to access items inside that container.

ViewPages View pages in a Web site.

AddAndCustomizePages Add, change, or delete HTML pages or Web Part Pages, and edit the Web site using a SharePoint Foundation–compatible editor.

ApplyThemeAndBorder Apply a theme or borders to the entire Web site.

ApplyStyleSheets Apply a style sheet (.css file) to the Web site.

ViewUsageData View reports on Web site usage.

CreateSSCSite Create a Web site using Self-Service Site Creation.

ManageSubwebs Create subsites such as team sites, Meeting Workspace sites, and Document Workspace sites.

CreateGroups Create a group of users that can be used anywhere within the site collection.

ManagePermissions Create and change permission levels on the Web site and assign permissions to users and groups.

BrowseDirectories Enumerate files and folders in a Web site using Microsoft Office SharePoint Designer 2007 and WebDAV interfaces.

BrowseUserInfo View information about users of the Web site.

AddDelPrivateWebParts Add or remove personal Web Parts on a Web Part Page.

UpdatePersonalWebParts Update Web Parts to display personalized information.

ManageWeb Grant the ability to perform all administration tasks for the Web site as well as manage content. Activate, deactivate, or edit properties of Web site scoped Features through the object model or through the user interface (UI). When granted on the root Web site of a site collection, activate, deactivate, or edit properties of site collection scoped Features through the object model. To browse to the Site Collection Features page and activate or deactivate site collection scoped Features through the UI, you must be a site collection administrator.

AnonymousSearchAccessWebLists Content of lists and document libraries in the Web site will be retrieveable for anonymous users through SharePoint search if the list or document library has AnonymousSearchAccessList set.

UseClientIntegration Use features that launch client applications; otherwise, users must work on documents locally and upload changes.

UseRemoteAPIs Use SOAP, WebDAV, or Microsoft Office SharePoint Designer 2007 interfaces to access the Web site.

ManageAlerts Manage alerts for all users of the Web site.

CreateAlerts Create e-mail alerts.

EditMyUserInfo Allows a user to change his or her user information, such as adding a picture.

EnumeratePermissions Enumerate permissions on the Web site, list, folder, document, or list item.

FullMask Has all permissions on the Web site. Not available through the user interface.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.