revolution icon indicating copy to clipboard operation
revolution copied to clipboard

[Feature] Hide deleted resources in manager tree since 2.7 has a trash management page

Open winformatic opened this issue 7 years ago • 4 comments

Summary

It would be great to hide deleted resource elements in the tree view in the manager. Since 2.7 has a trash management page it is not necessary to see the red strike-through resources in the tree view anymore.

Maybe it could be activated via a system setting to hide deleted elements from the tree?

Environment

MODX 2.7, php7.2

winformatic avatar Nov 28 '18 08:11 winformatic

Found in the table modx_site_content the field show_in_tree and the getnodes.class.php file in core\model\modx\processors\resource\getnodes.class.php interprets this field in the where statements.

If I switch the show_in_tree value from 1 to 0, the element is hidden in the treeview but still exists in the trash manager, which is exact the behavior I was asking for.

So we can simply use a plugin which handles the hiding:

OnResourceDelete / OnResourceUndelete

<?php
$currentResource = $modx->event->params['resource'];
if ($modx->event->name == 'OnResourceDelete') {
    $result = $currentResource->set('show_in_tree',0);
    $currentResource->save();
} elseif($modx->event->name == 'OnResourceUndelete') {
    $result = $currentResource->set('show_in_tree',1);
    $currentResource->save();
}

winformatic avatar Nov 28 '18 14:11 winformatic

Changing any resource field (except of deleted and deletedon/deletedby) is not the right way to hide those resources in the tree. There has to be a system setting and in the getnodes query deleted resources have to be excluded.

Jako avatar Nov 28 '18 15:11 Jako

Hey Jako, I totally agree with you. The above mentioned plugin has some difficulties with other extras that hide resources. It's a simple workaround and the feature should be implemented in the core.

winformatic avatar Nov 28 '18 15:11 winformatic

At the Russian-speaking forum there was a discussion about the new format of deleting resources: if there are a lot of them, then all the resources cannot be deleted at once, the pagination in the deleted resources manager interferes. Perhaps in addition to the setting "Hiding remote resources from the tree," we can also make the setting "Use delete manager or not", which will enable the manager or allow you to delete resources in the old way.

Ruslan-Aleev avatar Jan 31 '19 16:01 Ruslan-Aleev