Need help with permissions v 5.6.3

Permalink
Hello,
I am a web administrator for a global company using C5 v 5.6.3.
We have a site tree set up like this

HOME
- Global site
- French site
- Danish site
- UK site etc...

I have taught our web editors how to use basics of C5 and most of them only use it few times a year to add news articles and update product details.

When they add a news, they usually drag a news article from the global site into their site and then translate it. That way all images and text are placed correctly.

The issue I have is this. They have full permissions for their country site, but for the global site they can only Move or copy page.
I don't want them to be able to move pages out of the global site. I only want them to be able to copy from the global site (or use alias if they want to). Like I said they don't use C5 much and web editing is maybe only 5% of their job responsibilities and they forget a lot of things, and it is too easy for them to move a page out of the Global site.

Is there a hack i can do which would not allow our group "web editors" to be able to move pages out of the global site.
I have a programmer who works for us sometimes and he actually made a hack (I don't know what he did exactly), but "move page" didn't show up when "web editors" (there is group called web editors) pulled pages from global into their country site. It seemed perfect at first, but it it caused lots of other bugs problems (like I was no longer able to move items from trash back into the site and other problems), so i made him change it back to normal.

In C5 v.5.3 Move and Copy were separated permissions, so this wasn't an issue for us, but now they are lumped into the same permission.

Any ideas. I am not a programmer, but have full access to all C5 files

 
hutman replied on at Permalink Reply
hutman
I believe that you could do something like this:

<?php
$group = Group::getByName('web editors');
$hideMove = false;
if ($u->inGroup($group)) {
   $hideMove = true;
}
if(!$hideMove){
   ?>
<input type="radio" checked style="vertical-align: middle" id="ctaskMove" name="ctask" value="MOVE" onclick="toggleMove()" />
<strong><?php echo t('Move')?></strong> <?php if (count($originalPages) == 1) { ?>"<?php echo $oc->getCollectionName()?>"<?php } ?> <?php echo t('beneath')?> "<?php echo $dc->getCollectionName()?>"
<div style="margin: 4px 0px 0px 20px">
<input type="checkbox" id="saveOldPagePath" name="saveOldPagePath" value="1" style="vertical-align: middle" <?php if (isset($_SESSION['movePageSaveOldPagePath']) && $_SESSION['movePageSaveOldPagePath']) { ?> checked="checked" <?php } ?> /> <?php echo t('Save old page path')?>
</div>
<br/>
<?php } ?>

Starting on line 177 of the /concrete/tools/dashboard/sitemap_drag_request.php

That will check if the user is in the group "web editors" if they are then it sets a flag for hideMove, then hides the move radio option and defaults the Copy option to selected.
sme1972 replied on at Permalink Reply
Hey,
Before I try your solution, I have the feeling it is missing something.
I do want web editors to be able to move files, but they should not be able to move files under the global website.

They should be able to move under their own website and we have a "Sandbox" area where they can create pages and test things that is not viewable by guests, and they should be able to move from that area as well.
hutman replied on at Permalink Reply
hutman
You are correct, this will disable the Move function for the Editors in all cases. I don't think there is a 'simple' solution to what you are asking for, sorry.
zuna replied on at Permalink Reply
Hi, i'm not sure i understand correctly but an idea will be make an atribute for global site and the country site, maybe you can check for this when they move/ copy the page and then if the parent ( the home of the site) has the correct attribute they can move, if it's not correct you know is the global site and they can`t move things