فهرست منبع

fix createDirectory

Marino Faggiana 7 سال پیش
والد
کامیت
39a8cbdd6c
1فایلهای تغییر یافته به همراه18 افزوده شده و 7 حذف شده
  1. 18 7
      PickerFileProvider/FileProvider.swift

+ 18 - 7
PickerFileProvider/FileProvider.swift

@@ -536,14 +536,25 @@ class FileProvider: NSFileProviderExtension {
             return
         }
         
-        guard let directoryParent = NCManageDatabase.sharedInstance.getTableDirectory(predicate: NSPredicate(format: "account = %@ AND fileID = %@", account, parentItemIdentifier.rawValue)) else {
-            completionHandler(nil, NSFileProviderError(.noSuchItem))
-            return
-        }
+        var serverUrl = ""
+        
+        if parentItemIdentifier == .rootContainer {
+            
+            serverUrl = homeServerUrl
+            
+        } else {
             
-        ocNetworking?.createFolder(directoryName, serverUrl: directoryParent.serverUrl, account: account, success: { (fileID, date) in
+            guard let directoryParent = NCManageDatabase.sharedInstance.getTableDirectory(predicate: NSPredicate(format: "account = %@ AND fileID = %@", account, parentItemIdentifier.rawValue)) else {
+                completionHandler(nil, NSFileProviderError(.noSuchItem))
+                return
+            }
+            
+            serverUrl = directoryParent.serverUrl
+        }
+        
+        ocNetworking?.createFolder(directoryName, serverUrl: serverUrl, account: account, success: { (fileID, date) in
                 
-            guard let newTableDirectory = NCManageDatabase.sharedInstance.addDirectory(encrypted: false, favorite: false, fileID: fileID, permissions: nil, serverUrl: directoryParent.serverUrl+"/"+directoryName) else {
+            guard let newTableDirectory = NCManageDatabase.sharedInstance.addDirectory(encrypted: false, favorite: false, fileID: fileID, permissions: nil, serverUrl: serverUrl+"/"+directoryName) else {
                 completionHandler(nil, NSFileProviderError(.noSuchItem))
                 return
             }
@@ -558,7 +569,7 @@ class FileProvider: NSFileProviderExtension {
             metadata.fileNameView = directoryName
             metadata.typeFile = k_metadataTypeFile_directory
                 
-            let item = FileProviderItem(metadata: metadata, serverUrl: directoryParent.serverUrl)
+            let item = FileProviderItem(metadata: metadata, serverUrl: serverUrl)
                 
             completionHandler(item, nil)