ソースを参照

move openLoginView on AppDelegate #334

Marino Faggiana 7 年 前
コミット
906e03ef74

+ 1 - 1
iOSClient/AppDelegate.h

@@ -133,7 +133,7 @@
 @property BOOL maintenanceMode;
 
 // Login View
-- (void)openLoginView:(id)delegate loginType:(enumLoginType)enumLoginType;
+- (void)openLoginView:(id)delegate loginType:(enumLoginType)loginType;
 
 // Setting Active Account
 - (void)settingActiveAccount:(NSString *)activeAccount activeUrl:(NSString *)activeUrl activeUser:(NSString *)activeUser activePassword:(NSString *)activePassword;

+ 8 - 6
iOSClient/AppDelegate.m

@@ -356,7 +356,7 @@
 #pragma mark ===== Login =====
 #pragma --------------------------------------------------------------------------------------------
 
-- (void)openLoginView:(id)delegate loginType:(enumLoginType)enumLoginType
+- (void)openLoginView:(id)delegate loginType:(enumLoginType)loginType
 {
     if ([NCBrandOptions sharedInstance].use_login_web) {
         
@@ -364,7 +364,7 @@
         
             _activeLoginWeb = [CCLoginWeb new];
             _activeLoginWeb.delegate = delegate;
-            _activeLoginWeb.loginType = enumLoginType;
+            _activeLoginWeb.loginType = loginType;
         
             dispatch_async(dispatch_get_main_queue(), ^ {
                 [_activeLoginWeb presentModalWithDefaultTheme:delegate];
@@ -373,14 +373,16 @@
         
     } else {
         
-        if (!_activeLoginWeb.isViewLoaded || !_activeLoginWeb.view.window) {
+        if (!_activeLogin.isViewLoaded || !_activeLogin.view.window) {
 
             _activeLogin = [[UIStoryboard storyboardWithName:@"CCLogin" bundle:nil] instantiateViewControllerWithIdentifier:@"CCLoginNextcloud"];
             _activeLogin.delegate = delegate;
-            _activeLogin.loginType = enumLoginType;
+            _activeLogin.loginType = loginType;
         
-            [self.window makeKeyAndVisible];
-            [self.window.rootViewController presentViewController:_activeLogin animated:YES completion:nil];
+            dispatch_async(dispatch_get_main_queue(), ^ {
+                [self.window makeKeyAndVisible];
+                [self.window.rootViewController presentViewController:_activeLogin animated:YES completion:nil];
+            });
         }
     }
 }

+ 58 - 21
iOSClient/Main/CCMain.m

@@ -1009,6 +1009,7 @@
     [self readFolder:_serverUrl];
 }
 
+/*
 - (void)changePasswordAccount
 {
     // Brand
@@ -1031,6 +1032,7 @@
         [self presentViewController:_loginVC animated:YES completion:nil];
     }
 }
+*/
 
 #pragma mark -
 #pragma --------------------------------------------------------------------------------------------
@@ -1083,6 +1085,9 @@
 - (void)getExternalSitesServerFailure:(CCMetadataNet *)metadataNet message:(NSString *)message errorCode:(NSInteger)errorCode
 {
     NSLog(@"[LOG] No External Sites found");
+    
+    if (errorCode == 401)
+        [app openLoginView:self loginType:loginModifyPasswordUser];
 }
 
 #pragma --------------------------------------------------------------------------------------------
@@ -1100,6 +1105,9 @@
 - (void)getActivityServerFailure:(CCMetadataNet *)metadataNet message:(NSString *)message errorCode:(NSInteger)errorCode
 {
     NSLog(@"[LOG] No Activity found");
+    
+    if (errorCode == 401)
+        [app openLoginView:self loginType:loginModifyPasswordUser];
 }
 
 #pragma --------------------------------------------------------------------------------------------
@@ -1145,7 +1153,10 @@
 }
 
 - (void)getNotificationServerFailure:(CCMetadataNet *)metadataNet message:(NSString *)message errorCode:(NSInteger)errorCode
-{    
+{
+    if (errorCode == 401)
+        [app openLoginView:self loginType:loginModifyPasswordUser];
+    
     // Update NavigationBar
     if (!_isSelectedMode)
         [self setUINavigationBarDefault];
@@ -1170,7 +1181,7 @@
 - (void)getUserProfileFailure:(CCMetadataNet *)metadataNet message:(NSString *)message errorCode:(NSInteger)errorCode
 {
     if (errorCode == 401)
-        [self changePasswordAccount];
+        [app openLoginView:self loginType:loginModifyPasswordUser];
 }
 
 - (void)getUserProfileSuccess:(CCMetadataNet *)metadataNet userProfile:(OCUserProfile *)userProfile
@@ -1196,11 +1207,11 @@
 
 - (void)getCapabilitiesOfServerFailure:(CCMetadataNet *)metadataNet message:(NSString *)message errorCode:(NSInteger)errorCode
 {
+    if (errorCode == 401)
+        [app openLoginView:self loginType:loginModifyPasswordUser];
+    
     // Change Theming color
     [app settingThemingColorBrand];
-    
-    if (errorCode == 401)
-        [self changePasswordAccount];
 }
 
 - (void)getCapabilitiesOfServerSuccess:(OCCapabilities *)capabilities
@@ -1324,6 +1335,9 @@
 
 - (void)downloadFileFailure:(NSString *)fileID serverUrl:(NSString *)serverUrl selector:(NSString *)selector message:(NSString *)message errorCode:(NSInteger)errorCode
 {
+    if (errorCode == 401)
+        [app openLoginView:self loginType:loginModifyPasswordUser];
+    
     tableMetadata *metadata = [[NCManageDatabase sharedInstance] getMetadataWithPredicate:[NSPredicate predicateWithFormat:@"fileID = %@", fileID]];
     
     // File do not exists on server, remove in local
@@ -1358,7 +1372,7 @@
         
     } else {
         
-        if (errorCode != kCFURLErrorCancelled)
+        if (errorCode != kCFURLErrorCancelled && errorCode != 401)
             [app messageNotification:@"_download_file_" description:message visible:YES delay:k_dismissAfterSecond type:TWMessageBarMessageTypeError errorCode:errorCode];
     }
 
@@ -1599,6 +1613,9 @@
 
 - (void)uploadFileFailure:(CCMetadataNet *)metadataNet fileID:(NSString *)fileID serverUrl:(NSString *)serverUrl selector:(NSString *)selector message:(NSString *)message errorCode:(NSInteger)errorCode
 {
+    if (errorCode == 401)
+        [app openLoginView:self loginType:loginModifyPasswordUser];
+    
     // Auto Download Upload
     if([selector isEqualToString:selectorUploadAutoUpload] || [selector isEqualToString:selectorUploadAutoUploadAll] || [selector isEqualToString:selectorUploadFile]) {
                 
@@ -1638,7 +1655,7 @@
         }
     
         // Print error
-        else if (errorCode != kCFURLErrorCancelled) {
+        else if (errorCode != kCFURLErrorCancelled && errorCode != 401) {
         
             [app messageNotification:@"_upload_file_" description:message visible:YES delay:k_dismissAfterSecond type:TWMessageBarMessageTypeError errorCode:errorCode];
         }
@@ -1769,6 +1786,9 @@
 
 - (void)readFileFailure:(CCMetadataNet *)metadataNet message:(NSString *)message errorCode:(NSInteger)errorCode
 {
+    if (errorCode == 401)
+        [app openLoginView:self loginType:loginModifyPasswordUser];
+    
     // Read Folder
     if ([metadataNet.selector isEqualToString:selectorReadFileReloadFolder]) {
         //[self readFolderWithForced:NO serverUrl:metadataNet.serverUrl];
@@ -1849,6 +1869,9 @@
 
 - (void)readFolderFailure:(CCMetadataNet *)metadataNet message:(NSString *)message errorCode:(NSInteger)errorCode
 {
+    if (errorCode == 401)
+        [app openLoginView:self loginType:loginModifyPasswordUser];
+    
     // verify active user
     tableAccount *record = [[NCManageDatabase sharedInstance] getAccountActive];
     
@@ -1863,9 +1886,6 @@
         [app messageNotification:@"_error_" description:message visible:YES delay:k_dismissAfterSecond type:TWMessageBarMessageTypeError errorCode:errorCode];
     
     [self reloadDatasource:metadataNet.serverUrl];
-    
-    if (errorCode == 401)
-        [self changePasswordAccount];
 }
 
 - (void)readFolderSuccess:(CCMetadataNet *)metadataNet metadataFolder:(tableMetadata *)metadataFolder metadatas:(NSArray *)metadatas
@@ -2092,10 +2112,12 @@
 
 - (void)searchFailure:(CCMetadataNet *)metadataNet message:(NSString *)message errorCode:(NSInteger)errorCode
 {
-    _searchFileName = @"";
-
-    if (message)
+    if (errorCode == 401)
+        [app openLoginView:self loginType:loginModifyPasswordUser];
+    else if (message)
         [app messageNotification:@"_error_" description:message visible:YES delay:k_dismissAfterSecond type:TWMessageBarMessageTypeError errorCode:errorCode];
+    
+    _searchFileName = @"";
 }
 
 - (void)searchSuccess:(CCMetadataNet *)metadataNet metadatas:(NSArray *)metadatas
@@ -2130,6 +2152,9 @@
 
 - (void)deleteFileOrFolderFailure:(CCMetadataNet *)metadataNet message:(NSString *)message errorCode:(NSInteger)errorCode
 {
+    if (errorCode == 401)
+        [app openLoginView:self loginType:loginModifyPasswordUser];
+    
     [self deleteFileOrFolderSuccess:metadataNet]; 
 }
 
@@ -2233,6 +2258,9 @@
 
 - (void)renameMoveFileOrFolderFailure:(CCMetadataNet *)metadataNet message:(NSString *)message errorCode:(NSInteger)errorCode
 {
+    if (errorCode == 401)
+        [app openLoginView:self loginType:loginModifyPasswordUser];
+    
     if ([metadataNet.selector isEqualToString:selectorMove]) {
         
         [_hud hideHud];
@@ -2453,6 +2481,11 @@
 
 - (void)createFolderFailure:(CCMetadataNet *)metadataNet message:(NSString *)message errorCode:(NSInteger)errorCode
 {
+    if (errorCode == 401)
+        [app openLoginView:self loginType:loginModifyPasswordUser];
+    else if (message)
+        [app messageNotification:@"_create_folder_" description:message visible:YES delay:k_dismissAfterSecond type:TWMessageBarMessageTypeError errorCode:errorCode];
+    
     if (metadataNet.cryptated == NO) {
         
         [[NCManageDatabase sharedInstance] deleteMetadataWithPredicate:[NSPredicate predicateWithFormat:@"fileID = %@", metadataNet.fileID] clearDateReadDirectoryID:nil];
@@ -2464,8 +2497,7 @@
             [vc.navigationController popViewControllerAnimated:YES];
     }
     
-    if (message)
-        [app messageNotification:@"_create_folder_" description:message visible:YES delay:k_dismissAfterSecond type:TWMessageBarMessageTypeError errorCode:errorCode];
+    
 }
 
 - (void)createFolderSuccess:(CCMetadataNet *)metadataNet
@@ -3014,16 +3046,16 @@
 - (void)shareFailure:(CCMetadataNet *)metadataNet message:(NSString *)message errorCode:(NSInteger)errorCode
 {
     [_hud hideHud];
-    
-    [app messageNotification:@"_share_" description:message visible:YES delay:k_dismissAfterSecond type:TWMessageBarMessageTypeError errorCode:errorCode];
+
+    if (errorCode == 401)
+        [app openLoginView:self loginType:loginModifyPasswordUser];
+    else
+        [app messageNotification:@"_share_" description:message visible:YES delay:k_dismissAfterSecond type:TWMessageBarMessageTypeError errorCode:errorCode];
 
     if (_shareOC)
         [_shareOC reloadData];
     
     [self tableViewReloadData];
-    
-    if (errorCode == 401)
-        [self changePasswordAccount];
 }
 
 - (void)share:(tableMetadata *)metadata serverUrl:(NSString *)serverUrl password:(NSString *)password
@@ -3110,7 +3142,10 @@
 {
     [_hud hideHud];
     
-    [app messageNotification:@"_error_" description:message visible:YES delay:k_dismissAfterSecond type:TWMessageBarMessageTypeError errorCode:errorCode];
+    if (errorCode == 401)
+        [app openLoginView:self loginType:loginModifyPasswordUser];
+    else
+        [app messageNotification:@"_error_" description:message visible:YES delay:k_dismissAfterSecond type:TWMessageBarMessageTypeError errorCode:errorCode];
 }
 
 - (void)getUserAndGroup:(NSString *)find
@@ -3222,6 +3257,8 @@
 
 - (void)settingFavoriteFailure:(CCMetadataNet *)metadataNet message:(NSString *)message errorCode:(NSInteger)errorCode
 {
+    if (errorCode == 401)
+        [app openLoginView:self loginType:loginModifyPasswordUser];
 }
 
 - (void)addFavorite:(tableMetadata *)metadata

+ 2 - 6
iOSClient/Main/CCMore.swift

@@ -43,7 +43,7 @@ class CCMore: UIViewController, UITableViewDelegate, UITableViewDataSource, CCLo
     var menuExternalSite: [tableExternalSites]?
     var tabAccount : tableAccount?
     
-    var loginWeb : CCLoginWeb!
+    //var loginWeb : CCLoginWeb!
 
     override func viewDidLoad() {
         
@@ -339,11 +339,7 @@ class CCMore: UIViewController, UITableViewDelegate, UITableViewDataSource, CCLo
                 let manageAccount = CCManageAccount()
                 manageAccount.delete(self.appDelegate.activeAccount)
                 
-                self.loginWeb = CCLoginWeb()
-                self.loginWeb.delegate = self
-                self.loginWeb.loginType = loginAddForced
-                
-                self.loginWeb.presentModalWithDefaultTheme(self)
+                self.appDelegate.openLoginView(self, loginType: loginAddForced)
             }
             
             let actionNo = UIAlertAction(title: NSLocalizedString("_no_delete_", comment: ""), style: .default) { (action:UIAlertAction) in

+ 1 - 19
iOSClient/Main/CCSplit.m

@@ -29,8 +29,6 @@
 
 @interface CCSplit () <CCLoginDelegate, CCLoginDelegateWeb>
 {
-    CCLoginWeb *_loginWeb;
-    CCLogin *_loginVC;
 }
 @end
 
@@ -144,23 +142,7 @@
 {
     if (app.activeAccount.length == 0) {
     
-        // Brand
-        if ([NCBrandOptions sharedInstance].use_login_web) {
-        
-            _loginWeb = [CCLoginWeb new];
-            _loginWeb.delegate = self;
-            _loginWeb.loginType = loginAddForced;
-        
-            [_loginWeb presentModalWithDefaultTheme:self];
-            
-        } else {
-            
-            _loginVC = [[UIStoryboard storyboardWithName:@"CCLogin" bundle:nil] instantiateViewControllerWithIdentifier:@"CCLoginNextcloud"];
-            _loginVC.delegate = self;
-            _loginVC.loginType = loginAddForced;
-        
-            [self presentViewController:_loginVC animated:YES completion:nil];
-        }
+        [app openLoginView:self loginType:loginAddForced];
     }
 }
 

+ 3 - 62
iOSClient/Settings/CCManageAccount.m

@@ -33,9 +33,6 @@
 @interface CCManageAccount () <CCLoginDelegate, CCLoginDelegateWeb>
 {
     tableAccount *_tableAccount;
-
-    CCLoginWeb *_loginWeb;
-    CCLogin *_loginVC;
 }
 @end
 
@@ -209,48 +206,12 @@
     [app.netQueue cancelAllOperations];
     [[CCNetworking sharedNetworking] settingSessionsDownload:YES upload:YES taskStatus:k_taskStatusCancel activeAccount:app.activeAccount activeUser:app.activeUser activeUrl:app.activeUrl];
     
-    // Brand
-    if ([NCBrandOptions sharedInstance].use_login_web) {
-    
-        _loginWeb = [CCLoginWeb new];
-        _loginWeb.delegate = self;
-        _loginWeb.loginType = loginAdd;
-    
-        [_loginWeb presentModalWithDefaultTheme:self];
-        
-    } else {
-  
-        _loginVC = [[UIStoryboard storyboardWithName:@"CCLogin" bundle:nil] instantiateViewControllerWithIdentifier:@"CCLoginNextcloud"];
-        _loginVC.delegate = self;
-        _loginVC.loginType = loginAdd;
-    
-        [self presentViewController:_loginVC animated:YES completion:nil];
-    }
+    [app openLoginView:self loginType:loginAdd];
 }
 
 - (void)addAccountFoced
 {
-    // Brand
-    if ([NCBrandOptions sharedInstance].use_login_web) {
-    
-        _loginWeb = [CCLoginWeb new];
-        _loginWeb.delegate = self;
-        _loginWeb.loginType = loginAddForced;
-    
-        dispatch_async(dispatch_get_main_queue(), ^ {
-            [_loginWeb presentModalWithDefaultTheme:self];
-        });
-        
-    } else {
-        
-        _loginVC = [[UIStoryboard storyboardWithName:@"CCLogin" bundle:nil] instantiateViewControllerWithIdentifier:@"CCLoginNextcloud"];
-        _loginVC.delegate = self;
-        _loginVC.loginType = loginAddForced;
-        
-        dispatch_async(dispatch_get_main_queue(), ^ {
-            [self presentViewController:_loginVC animated:YES completion:nil];
-        });
-    }
+    [app openLoginView:self loginType:loginAddForced];
 }
 
 #pragma --------------------------------------------------------------------------------------------
@@ -264,27 +225,7 @@
     [app.netQueue cancelAllOperations];
     [[CCNetworking sharedNetworking] settingSessionsDownload:YES upload:YES taskStatus:k_taskStatusCancel activeAccount:app.activeAccount activeUser:app.activeUser activeUrl:app.activeUrl];
     
-    // Brand
-    if ([NCBrandOptions sharedInstance].use_login_web) {
-    
-        _loginWeb = [CCLoginWeb new];
-        _loginWeb.delegate = self;
-        _loginWeb.loginType = loginModifyPasswordUser;
-    
-        dispatch_async(dispatch_get_main_queue(), ^ {
-            [_loginWeb presentModalWithDefaultTheme:self];
-        });
-
-    } else {
-        
-        _loginVC = [[UIStoryboard storyboardWithName:@"CCLogin" bundle:nil] instantiateViewControllerWithIdentifier:@"CCLoginNextcloud"];
-        _loginVC.delegate = self;
-        _loginVC.loginType = loginModifyPasswordUser;
-    
-        dispatch_async(dispatch_get_main_queue(), ^ {
-            [self presentViewController:_loginVC animated:YES completion:nil];
-        });
-    }
+    [app openLoginView:self loginType:loginModifyPasswordUser];
     
     [self UpdateForm];
 }