Hiding the 'Show System Pages' checkbox from a group

Permalink 2 users found helpful
Hi

Firstly have advanced permissions on.

I want to allow a group to view the Dashboard and its sub pages, but don't really want them to be able to view these pages in the Site Map view.

This is because they can get up the context menu and click things like 'Delete' - I have revoked the delete privilege so it won't actually do it. But it seems sloppy to have these pages so visible to users who shouldn't even know that they actually exist as pages.

Anyone any ideas on how to do this - or is there an Add-On?

Thanks
Jake

BinaryFold4
 
jordanlev replied on at Permalink Best Answer Reply
jordanlev
This is a total hack, but you could just hide that checkbox via CSS. Find this file:
YOURSITE/concrete/css/ccm.sitemap.css

And around line #76 you should see this:
div#ccm-show-all-pages { position: relative; clear:right}

change it to this:
div#ccm-show-all-pages { position: relative; clear:right; display: none;}


Maybe not the best solution, but quick and easy.
BinaryFold4 replied on at Permalink Reply
BinaryFold4
Shame there isn't anything built in.
malthoff replied on at Permalink Reply
malthoff
You can edit your dashboard view that only specific users can see this option.

Create a new full.php at /single_pages/dashboard/sitemap and change this
<div id="ccm-show-all-pages">
      <input type="checkbox" id="ccm-show-all-pages-cb" <?php  if ($_SESSION['dsbSitemapShowSystem'] == 1) { ?> checked <?php  } ?> />
      <label for="ccm-show-all-pages-cb"><?php echo t('Show System Pages')?></label>
      </div>
to
<?php $u = new User();
      if ($u->isSuperUser()) {?>
      <div id="ccm-show-all-pages">
      <input type="checkbox" id="ccm-show-all-pages-cb" <?php  if ($_SESSION['dsbSitemapShowSystem'] == 1) { ?> checked <?php  } ?> />
      <label for="ccm-show-all-pages-cb"><?php echo t('Show System Pages')?></label>
      </div>
      <?php } ?>


I'm not sure yet if superusers are admins but you could also check the usergroups of the user object or anything else.