Browse Source

Improvements Create Folder

Marino Faggiana 6 years ago
parent
commit
50273f95bb

+ 0 - 2
iOSClient/CCGlobal.h

@@ -182,7 +182,6 @@
 
 // Metadata.Net SELECTOR
 #define selectorAddFavorite                             @"addFavorite"
-#define selectorCreateFolder                            @"createFolder"
 #define selectorDelete                                  @"delete"
 #define selectorDownloadSynchronize                     @"downloadSynchronize"
 #define selectorGetUserAndGroup                         @"getUserAndGroup"
@@ -213,7 +212,6 @@
 #define selectorUploadFile                              @"uploadFile"
 
 // Metadata.Net ACTION
-#define actionCreateFolder                              @"createFolder"
 #define actionDeleteFileDirectory                       @"deleteFileOrFolder"
 #define actionGetActivityServer                         @"getActivityServer"
 #define actionGetCapabilities                           @"getCapabilitiesOfServer"

+ 30 - 36
iOSClient/Main/CCMain.m

@@ -2087,16 +2087,35 @@
 #pragma mark ===== Create folder =====
 #pragma --------------------------------------------------------------------------------------------
 
-- (void)createFolderSuccessFailure:(CCMetadataNet *)metadataNet message:(NSString *)message errorCode:(NSInteger)errorCode
+- (void)createFolder:(NSString *)fileNameFolder serverUrl:(NSString *)serverUrl
 {
-    if (errorCode == 0) {
-        
-        NSString *newDirectory = [NSString stringWithFormat:@"%@/%@", metadataNet.serverUrl, metadataNet.fileName];
+    fileNameFolder = [CCUtility removeForbiddenCharactersServer:fileNameFolder];
+    if (![fileNameFolder length]) return;
+    NSString *directoryID = [[NCManageDatabase sharedInstance] getDirectoryID:serverUrl];
+    if (!directoryID) return;
+    NSString *fileIDTemp = [[NSUUID UUID] UUIDString];
+    
+    // Create Directory (temp) on metadata
+    tableMetadata *metadata = [CCUtility createMetadataWithAccount:appDelegate.activeAccount date:[NSDate date] directory:YES fileID:fileIDTemp directoryID:directoryID fileName:fileNameFolder etag:@"" size:0 status:k_metadataStatusNormal];
+    (void)[[NCManageDatabase sharedInstance] addMetadata:metadata];
+    
+    [[NCManageDatabase sharedInstance] clearDateReadWithServerUrl:serverUrl directoryID:nil];
+    [self reloadDatasource];
+    
+    // Creeate folder Networking
+    OCnetworking *ocNetworking = [[OCnetworking alloc] initWithDelegate:nil metadataNet:nil withUser:appDelegate.activeUser withUserID:appDelegate.activeUserID withPassword:appDelegate.activePassword withUrl:appDelegate.activeUrl];
+    
+    [ocNetworking createFolder:fileNameFolder serverUrl:serverUrl account:appDelegate.activeAccount success:^(NSString *fileID, NSDate *date) {
+
+        // Delete Temp Dir
+        [[NCManageDatabase sharedInstance] deleteMetadataWithPredicate:[NSPredicate predicateWithFormat:@"fileID == %@", fileIDTemp] clearDateReadDirectoryID:nil];
+
+        NSString *newDirectory = [NSString stringWithFormat:@"%@/%@", serverUrl, fileNameFolder];
         
         if (_metadataFolder.e2eEncrypted) {
             
             dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
-                NSError *error = [[NCNetworkingEndToEnd sharedManager] markEndToEndFolderEncrypted:appDelegate.activeUser userID:appDelegate.activeUserID password:appDelegate.activePassword url:appDelegate.activeUrl fileID:metadataNet.fileID serverUrl:newDirectory];
+                NSError *error = [[NCNetworkingEndToEnd sharedManager] markEndToEndFolderEncrypted:appDelegate.activeUser userID:appDelegate.activeUserID password:appDelegate.activePassword url:appDelegate.activeUrl fileID:fileID serverUrl:newDirectory];
                 dispatch_async(dispatch_get_main_queue(), ^{
                     if (error) {
                         [appDelegate messageNotification:@"_e2e_error_mark_folder_" description:error.localizedDescription visible:YES delay:k_dismissAfterSecond type:TWMessageBarMessageTypeError errorCode:error.code];
@@ -2110,7 +2129,7 @@
             [self readFolder:self.serverUrl];
         }
         
-    } else {
+    } failure:^(NSString *message, NSInteger errorCode) {
         
         // Unauthorized
         if (errorCode == kOCErrorServerUnauthorized)
@@ -2118,41 +2137,16 @@
         else
             [appDelegate messageNotification:@"_create_folder_" description:message visible:YES delay:k_dismissAfterSecond type:TWMessageBarMessageTypeError errorCode:errorCode];
         
-        [[NCManageDatabase sharedInstance] deleteMetadataWithPredicate:[NSPredicate predicateWithFormat:@"fileID == %@", metadataNet.fileID] clearDateReadDirectoryID:nil];
+        // Delete Temp Dir
+        [[NCManageDatabase sharedInstance] deleteMetadataWithPredicate:[NSPredicate predicateWithFormat:@"fileID == %@", fileIDTemp] clearDateReadDirectoryID:nil];
+        
         [self reloadDatasource];
         
         // We are in directory fail ?
-        CCMain *vc = [appDelegate.listMainVC objectForKey:[CCUtility stringAppendServerUrl:_serverUrl addFileName:metadataNet.fileName]];
+        CCMain *vc = [appDelegate.listMainVC objectForKey:[CCUtility stringAppendServerUrl:_serverUrl addFileName:fileNameFolder]];
         if (vc)
             [vc.navigationController popViewControllerAnimated:YES];
-    }
-}
-
-- (void)createFolder:(NSString *)fileNameFolder serverUrl:(NSString *)serverUrl
-{
-    CCMetadataNet *metadataNet = [[CCMetadataNet alloc] initWithAccount:appDelegate.activeAccount];
-    
-    fileNameFolder = [CCUtility removeForbiddenCharactersServer:fileNameFolder];
-    if (![fileNameFolder length]) return;
-    
-    NSString *directoryID = [[NCManageDatabase sharedInstance] getDirectoryID:_serverUrl];
-    if (!directoryID) return;
-    
-    metadataNet.action = actionCreateFolder;
-    metadataNet.directoryID = directoryID;
-    metadataNet.fileID = [[NSUUID UUID] UUIDString];
-    metadataNet.fileName = fileNameFolder;
-    metadataNet.selector = selectorCreateFolder;
-    metadataNet.serverUrl = serverUrl;
-    
-    [appDelegate addNetworkingOperationQueue:appDelegate.netQueue delegate:self metadataNet:metadataNet];
-        
-    // Create Directory on metadata
-    tableMetadata *metadata = [CCUtility createMetadataWithAccount:appDelegate.activeAccount date:[NSDate date] directory:YES fileID:metadataNet.fileID directoryID:metadataNet.directoryID fileName:metadataNet.fileName etag:@"" size:0 status:k_metadataStatusNormal];
-    (void)[[NCManageDatabase sharedInstance] addMetadata:metadata];
-    
-    [[NCManageDatabase sharedInstance] clearDateReadWithServerUrl:_serverUrl directoryID:nil];
-    [self reloadDatasource];
+    }];
 }
 
 #pragma --------------------------------------------------------------------------------------------

+ 0 - 2
iOSClient/Networking/OCNetworking.h

@@ -62,8 +62,6 @@
 
 - (void)readFolderSuccessFailure:(CCMetadataNet *)metadataNet metadataFolder:(tableMetadata *)metadataFolder metadatas:(NSArray *)metadatas message:(NSString *)message errorCode:(NSInteger)errorCode;
 
-- (void)createFolderSuccessFailure:(CCMetadataNet *)metadataNet message:(NSString *)message errorCode:(NSInteger)errorCode;
-
 - (void)deleteFileOrFolderSuccessFailure:(CCMetadataNet *)metadataNet message:(NSString *)message errorCode:(NSInteger)errorCode;
 
 - (void)moveSuccess:(CCMetadataNet *)metadataNet;

+ 0 - 21
iOSClient/Networking/OCNetworking.m

@@ -909,27 +909,6 @@
 #pragma mark ===== Create Folder =====
 #pragma --------------------------------------------------------------------------------------------
 
-- (void)createFolder
-{
-    [self createFolder:_metadataNet.fileName serverUrl:_metadataNet.serverUrl account:_metadataNet.account success:^(NSString *fileID, NSDate *date) {
-        
-        _metadataNet.fileID = fileID;
-        _metadataNet.date = date;
-        
-        if ([self.delegate respondsToSelector:@selector(createFolderSuccessFailure:message:errorCode:)])
-            [self.delegate createFolderSuccessFailure:_metadataNet message:nil errorCode:0];
-        
-        [self complete];
-        
-    } failure:^(NSString *message, NSInteger errorCode) {
-        
-        if ([self.delegate respondsToSelector:@selector(createFolderSuccessFailure:message:errorCode:)])
-            [self.delegate createFolderSuccessFailure:_metadataNet message:message errorCode:errorCode];
-        
-        [self complete];
-    }];
-}
-
 - (void)createFolder:(NSString *)fileName serverUrl:(NSString *)serverUrl account:(NSString *)account success:(void(^)(NSString *fileID, NSDate *date))success failure:(void (^)(NSString *message, NSInteger errorCode))failure
 {
     NSString *path = [NSString stringWithFormat:@"%@/%@", serverUrl, fileName];