marinofaggiana 5 years ago
parent
commit
2942751707
1 changed files with 36 additions and 0 deletions
  1. 36 0
      iOSClient/Login/NCAppConfigView.swift

+ 36 - 0
iOSClient/Login/NCAppConfigView.swift

@@ -56,9 +56,45 @@ class NCAppConfigView: UIViewController {
         // Stop timer error network
         appDelegate.timerErrorNetworking.invalidate()
         
+        guard let serverUrl = self.serverUrl else {
+            appDelegate.messageNotification("_error_", description: "User Default, serverUrl not found", visible: true, delay: TimeInterval(k_dismissAfterSecond), type: TWMessageBarMessageType.error, errorCode: 0)
+            return
+        }
+        guard let username = self.username else {
+            appDelegate.messageNotification("_error_", description: "User Default, username not found", visible: true, delay: TimeInterval(k_dismissAfterSecond), type: TWMessageBarMessageType.error, errorCode: 0)
+            return
+        }
+        guard let password = self.password else {
+            appDelegate.messageNotification("_error_", description: "User Default, password not found", visible: true, delay: TimeInterval(k_dismissAfterSecond), type: TWMessageBarMessageType.error, errorCode: 0)
+            return
+        }
+        
         OCNetworking.sharedManager()?.getAppPassword(serverUrl, username: username, password: password, completion: { (token, message, errorCode) in
             if errorCode == 0 {
                 
+                let account: String = "\(username) \(serverUrl)"
+                
+                // NO account found, clear
+                if NCManageDatabase.sharedInstance.getAccounts() == nil {
+                    NCUtility.sharedInstance.removeAllSettings()
+                }
+                
+                // Add new account
+                NCManageDatabase.sharedInstance.deleteAccount(account)
+                NCManageDatabase.sharedInstance.addAccount(account, url: serverUrl, user: username, password: password, loginFlow: true)
+                
+                guard let tableAccount = NCManageDatabase.sharedInstance.setAccountActive(account) else {
+                    self.appDelegate.messageNotification("_error_", description: "setAccountActive error", visible: true, delay: TimeInterval(k_dismissAfterSecond), type: TWMessageBarMessageType.error, errorCode: 0)
+                    self.dismiss(animated: true, completion: nil)
+                    return
+                }
+                
+                self.appDelegate.settingActiveAccount(account, activeUrl: serverUrl, activeUser: username, activeUserID: tableAccount.userID, activePassword: password)
+                
+                self.dismiss(animated: true) {
+                    self.delegate?.loginSuccess(NSInteger(k_login_Add))
+                }
+                
             } else {
                 self.appDelegate.messageNotification("_error_", description: message, visible: true, delay: TimeInterval(k_dismissAfterSecond), type: TWMessageBarMessageType.error, errorCode: errorCode)
             }