@@ -79,29 +79,44 @@ public function buildDataTransferDialogBody(Request $request) {
7979 ]);
8080 }
8181
82- #Info: this most likely won't be enough when there will be nested menu
8382 $ subfolder = basename (dirname ($ file_current_path ));
8483 $ upload_type = FileUploadController::UPLOAD_BASED_MODULES [$ module_name ];
8584
8685 $ all_subdirectories_for_all_types = FileUploadController::getSubdirectoriesForAllUploadTypes (true , true );
86+ $ all_upload_based_modules = FileUploadController::UPLOAD_BASED_MODULES ;
8787
8888 #Info: filter folder from which dialog was called
89- foreach ($ all_subdirectories_for_all_types as $ type => $ subdirectories) {
89+ foreach ( $ all_subdirectories_for_all_types as $ type => $ subdirectories ) {
9090
9191 if ( $ type === $ upload_type ){
9292
93- $ key = array_search ($ subfolder , $ subdirectories );
94- unset($ subdirectories [$ key ]);
93+ $ subfolder_key = array_search ($ subfolder , $ subdirectories );
94+ $ is_main_folder = !$ subfolder_key ;
95+
96+ if ( $ is_main_folder ){
97+ $ subfolder_key = FileUploadController::KEY_MAIN_FOLDER ;
98+ }
99+
100+ unset($ subdirectories [$ subfolder_key ]);
101+
102+ #Info: if we filter folder then we need to make sure that we don't display current module if there are no other folders than current
103+ if ( empty ($ subdirectories ) ){
104+ $ module_key = array_search ($ upload_type , $ all_upload_based_modules );
105+ unset($ all_upload_based_modules [$ module_key ]);
106+ break ;
107+ }
95108
96109 $ all_subdirectories_for_all_types [$ type ] = $ subdirectories ;
97110 break ;
98111 }
99112
100113 }
101114
102- $ form_data = [FilesHandler::KEY_TARGET_SUBDIRECTORY_NAME => $ all_subdirectories_for_all_types ];
103-
104- $ form = $ this ->app ->forms ->moveSingleFile ($ form_data );
115+ $ form_data = [
116+ FilesHandler::KEY_TARGET_SUBDIRECTORY_NAME => $ all_subdirectories_for_all_types ,
117+ FilesHandler::KEY_MODULES_NAMES => $ all_upload_based_modules
118+ ];
119+ $ form = $ this ->app ->forms ->moveSingleFile ($ form_data );
105120
106121 $ template_data = [
107122 'form ' => $ form ->createView ()
0 commit comments