marinofaggiana 4 years ago
parent
commit
8e0d97e809
2 changed files with 24 additions and 2 deletions
  1. 22 0
      iOSClient/Database/NCManageDatabase.swift
  2. 2 2
      iOSClient/Share/NCShare.swift

+ 22 - 0
iOSClient/Database/NCManageDatabase.swift

@@ -1051,6 +1051,28 @@ class NCManageDatabase: NSObject {
         }
     }
     
+    @objc func getCapabilitiesFilesSharingPublicPasswordEnforced(account: String) -> Bool {
+
+        let realm = try! Realm()
+        realm.refresh()
+        
+        guard let result = realm.objects(tableCapabilities.self).filter("account == %@", account).first else {
+            return false
+        }
+        guard let jsondata = result.jsondata else {
+            return false
+        }
+        
+        let json = JSON(jsondata)
+        let dataCapabilities = json["ocs"]["data"]["capabilities"]
+
+        if let result = dataCapabilities["files_sharing"]["public"]["password"]["enforced"].bool {
+            return result
+        } else {
+            return false
+        }
+    }
+    
     #if !EXTENSION
     @objc func addCapabilities(_ capabilities: OCCapabilities, account: String) {
         

+ 2 - 2
iOSClient/Share/NCShare.swift

@@ -142,10 +142,10 @@ class NCShare: UIViewController, UIGestureRecognizerDelegate, NCShareLinkCellDel
     @IBAction func touchUpInsideButtonMenu(_ sender: Any) {
 
         guard let metadata = self.metadata else { return }
-        guard let capabilities = NCManageDatabase.sharedInstance.getCapabilites(account: metadata.account) else { return }
+        let isFilesSharingPublicPasswordEnforced = NCManageDatabase.sharedInstance.getCapabilitiesFilesSharingPublicPasswordEnforced(account: metadata.account)
         let shares = NCManageDatabase.sharedInstance.getTableShares(metadata: metadata)
 
-        if capabilities.isFilesSharingPublicPasswordEnforced && shares.firstShareLink == nil {
+        if isFilesSharingPublicPasswordEnforced && shares.firstShareLink == nil {
             let alertController = UIAlertController(title: NSLocalizedString("_enforce_password_protection_", comment: ""), message: "", preferredStyle: .alert)
             alertController.addTextField { (textField) in
                 textField.isSecureTextEntry = true