Skip to content
Snippets Groups Projects
Verified Commit 4955d0eb authored by Florian Azizian's avatar Florian Azizian
Browse files

FEAT #11296 TIME 1:30 delete resources folders

parent f302574e
No related branches found
No related tags found
No related merge requests found
...@@ -35,8 +35,30 @@ class FolderController ...@@ -35,8 +35,30 @@ class FolderController
{ {
$folders = FolderController::getScopeFolders(['login' => $GLOBALS['userId']]); $folders = FolderController::getScopeFolders(['login' => $GLOBALS['userId']]);
$userEntities = EntityModel::getEntitiesByUserId([
'select' => ['entities.id'],
'user_id' => $GLOBALS['userId']
]);
$userEntities = array_column($userEntities, 'id');
if (empty($userEntities)) {
$userEntities = 0;
}
$foldersWithResources = FolderModel::getWithEntitiesAndResources([
'select' => ['COUNT(resources_folders.folder_id)', 'resources_folders.folder_id'],
'where' => ['(entities_folders.entity_id in (?) OR folders.user_id = ?)'],
'data' => [$userEntities, $GLOBALS['id']],
'groupBy' => ['resources_folders.folder_id']
]);
$tree = []; $tree = [];
foreach ($folders as $folder) { foreach ($folders as $folder) {
$key = array_keys(array_column($foldersWithResources, 'folder_id'), $folder['id']);
$count = 0;
if (isset($key[0])) {
$count = $foldersWithResources[$key[0]]['count'];
}
$insert = [ $insert = [
'name' => $folder['label'], 'name' => $folder['label'],
'id' => $folder['id'], 'id' => $folder['id'],
...@@ -45,6 +67,7 @@ class FolderController ...@@ -45,6 +67,7 @@ class FolderController
'user_id' => $folder['user_id'], 'user_id' => $folder['user_id'],
'parent_id' => $folder['parent_id'], 'parent_id' => $folder['parent_id'],
'level' => $folder['level'], 'level' => $folder['level'],
'countResources' => $count
]; ];
if ($folder['level'] == 0) { if ($folder['level'] == 0) {
$tree[] = $insert; $tree[] = $insert;
...@@ -196,7 +219,7 @@ class FolderController ...@@ -196,7 +219,7 @@ class FolderController
'level' => $level 'level' => $level
]); ]);
if ($public) { if ($public && !empty($data['parent_id'])) {
$entitiesSharing = EntityFolderModel::getByFolderId(['folder_id' => $data['parent_id']]); $entitiesSharing = EntityFolderModel::getByFolderId(['folder_id' => $data['parent_id']]);
foreach ($entitiesSharing as $entity) { foreach ($entitiesSharing as $entity) {
EntityFolderModel::create([ EntityFolderModel::create([
......
...@@ -129,7 +129,8 @@ class FolderModelAbstract ...@@ -129,7 +129,8 @@ class FolderModelAbstract
'table' => ['folders', 'entities_folders', 'resources_folders'], 'table' => ['folders', 'entities_folders', 'resources_folders'],
'left_join' => ['folders.id = entities_folders.folder_id', 'folders.id = resources_folders.folder_id'], 'left_join' => ['folders.id = entities_folders.folder_id', 'folders.id = resources_folders.folder_id'],
'where' => empty($args['where']) ? [] : $args['where'], 'where' => empty($args['where']) ? [] : $args['where'],
'data' => empty($args['data']) ? [] : $args['data'] 'data' => empty($args['data']) ? [] : $args['data'],
'groupBy' => empty($args['groupBy']) ? [] : $args['groupBy']
]); ]);
return $folders; return $folders;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment