[MediaWiki-commits] [Gerrit] User is automatically logged in after account creation. - change (apps...wikipedia)

2014-03-04 Thread Brion VIBBER (Code Review)
Brion VIBBER has submitted this change and it was merged.

Change subject: User is automatically logged in after account creation.
..


User is automatically logged in after account creation.

Change-Id: Idd68d7af2457f80b85ac50fc9fa1afc9405e5425
---
M Wikipedia-iOS/View Controllers/AccountCreation/AccountCreationViewController.m
M Wikipedia-iOS/View Controllers/Login/LoginViewController.h
M Wikipedia-iOS/View Controllers/Login/LoginViewController.m
M Wikipedia-iOS/View Controllers/TopNav/NavController.m
4 files changed, 95 insertions(+), 53 deletions(-)

Approvals:
  Brion VIBBER: Verified; Looks good to me, approved



diff --git a/Wikipedia-iOS/View 
Controllers/AccountCreation/AccountCreationViewController.m 
b/Wikipedia-iOS/View Controllers/AccountCreation/AccountCreationViewController.m
index f77ac24..e8f99b8 100644
--- a/Wikipedia-iOS/View 
Controllers/AccountCreation/AccountCreationViewController.m
+++ b/Wikipedia-iOS/View 
Controllers/AccountCreation/AccountCreationViewController.m
@@ -9,6 +9,9 @@
 #import "CaptchaResetOp.h"
 #import "UIScrollView+ScrollSubviewToLocation.h"
 #import "UIButton+ColorMask.h"
+#import "LoginViewController.h"
+#import "UINavigationController+SearchNavStack.h"
+#import "MainMenuTableViewController.h"
 
 #define NAV ((NavController *)self.navigationController)
 
@@ -248,6 +251,24 @@
 }
 }
 
+-(void)login
+{
+LoginViewController *loginVC = [self.navigationController 
searchNavStackForViewControllerOfClass:[LoginViewController class]];
+
+[self showAlert:@"Logging in..."];
+
+[loginVC loginWithUserName:self.usernameField.text 
password:self.passwordField.text onSuccess:^{
+
+MainMenuTableViewController *menuVC = [self.navigationController 
searchNavStackForViewControllerOfClass:[MainMenuTableViewController class]];
+[self.navigationController popToViewController:menuVC animated:YES];
+
+} onFail:^(){
+
+[self performSelector:@selector(hide) withObject:nil afterDelay:0.5f];
+
+}];
+}
+
 -(void)save
 {
 static BOOL isAleadySaving = NO;
@@ -281,7 +302,7 @@
   dispatch_async(dispatch_get_main_queue(), 
^(){
   [self showAlert:result];
   [self showAlert:@""];
-  [self performSelector:@selector(hide) 
withObject:nil afterDelay:1.0f];
+  [self performSelector:@selector(login) 
withObject:nil afterDelay:0.6f];
   isAleadySaving = NO;
   });
   
diff --git a/Wikipedia-iOS/View Controllers/Login/LoginViewController.h 
b/Wikipedia-iOS/View Controllers/Login/LoginViewController.h
index 7f390a3..83c124d 100644
--- a/Wikipedia-iOS/View Controllers/Login/LoginViewController.h
+++ b/Wikipedia-iOS/View Controllers/Login/LoginViewController.h
@@ -12,4 +12,9 @@
 
 - (IBAction)createAccountButtonPushed:(id)sender;
 
+- (void)loginWithUserName: (NSString *)userName
+ password: (NSString *)password
+onSuccess: (void (^)(void))successBlock
+   onFail: (void (^)(void))failBlock;
+
 @end
diff --git a/Wikipedia-iOS/View Controllers/Login/LoginViewController.m 
b/Wikipedia-iOS/View Controllers/Login/LoginViewController.m
index 08295b1..5f35a4b 100644
--- a/Wikipedia-iOS/View Controllers/Login/LoginViewController.m
+++ b/Wikipedia-iOS/View Controllers/Login/LoginViewController.m
@@ -122,7 +122,11 @@
 
 -(void)save
 {
-[self login];
+[self loginWithUserName: self.usernameField.text
+   password: self.passwordField.text
+  onSuccess: ^{
+  [self performSelector:@selector(hide) withObject:nil 
afterDelay:1.25f];
+  } onFail: nil];
 }
 
 -(void)hide
@@ -147,9 +151,15 @@
 // Dispose of any resources that can be recreated.
 }
 
--(void)login
+-(void)loginWithUserName: (NSString *)userName
+password: (NSString *)password
+   onSuccess: (void (^)(void))successBlock
+  onFail: (void (^)(void))failBlock
 {
 [self showAlert:@""];
+
+if (!successBlock) successBlock = ^(){};
+if (!failBlock) failBlock = ^(){};
 
 /*
 void (^printCookies)() =  ^void(){
@@ -163,57 +173,61 @@
 
 //[[NSHTTPCookieStorage sharedHTTPCookieStorage] 
setCookieAcceptPolicy:NSHTTPCookieAcceptPolicyAlways];
 
-NSString *userName = self.usernameField.text;
-NSString *password = self.passwordField.text;
+LoginOp *loginOp =
+[[LoginOp alloc] initWithUsername: userName
+ password: password
+   domain: [SessionSingleton sharedInstance].domain
+  completionBlock: ^(NSString *loginResult){
+  
+  // Login c

[MediaWiki-commits] [Gerrit] User is automatically logged in after account creation. - change (apps...wikipedia)

2014-03-04 Thread Mhurd (Code Review)
Mhurd has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/116894

Change subject: User is automatically logged in after account creation.
..

User is automatically logged in after account creation.

Change-Id: Idd68d7af2457f80b85ac50fc9fa1afc9405e5425
---
M Wikipedia-iOS/View Controllers/AccountCreation/AccountCreationViewController.m
M Wikipedia-iOS/View Controllers/Login/LoginViewController.h
M Wikipedia-iOS/View Controllers/Login/LoginViewController.m
M Wikipedia-iOS/View Controllers/TopNav/NavController.m
4 files changed, 95 insertions(+), 53 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/apps/ios/wikipedia 
refs/changes/94/116894/1

diff --git a/Wikipedia-iOS/View 
Controllers/AccountCreation/AccountCreationViewController.m 
b/Wikipedia-iOS/View Controllers/AccountCreation/AccountCreationViewController.m
index f77ac24..e8f99b8 100644
--- a/Wikipedia-iOS/View 
Controllers/AccountCreation/AccountCreationViewController.m
+++ b/Wikipedia-iOS/View 
Controllers/AccountCreation/AccountCreationViewController.m
@@ -9,6 +9,9 @@
 #import "CaptchaResetOp.h"
 #import "UIScrollView+ScrollSubviewToLocation.h"
 #import "UIButton+ColorMask.h"
+#import "LoginViewController.h"
+#import "UINavigationController+SearchNavStack.h"
+#import "MainMenuTableViewController.h"
 
 #define NAV ((NavController *)self.navigationController)
 
@@ -248,6 +251,24 @@
 }
 }
 
+-(void)login
+{
+LoginViewController *loginVC = [self.navigationController 
searchNavStackForViewControllerOfClass:[LoginViewController class]];
+
+[self showAlert:@"Logging in..."];
+
+[loginVC loginWithUserName:self.usernameField.text 
password:self.passwordField.text onSuccess:^{
+
+MainMenuTableViewController *menuVC = [self.navigationController 
searchNavStackForViewControllerOfClass:[MainMenuTableViewController class]];
+[self.navigationController popToViewController:menuVC animated:YES];
+
+} onFail:^(){
+
+[self performSelector:@selector(hide) withObject:nil afterDelay:0.5f];
+
+}];
+}
+
 -(void)save
 {
 static BOOL isAleadySaving = NO;
@@ -281,7 +302,7 @@
   dispatch_async(dispatch_get_main_queue(), 
^(){
   [self showAlert:result];
   [self showAlert:@""];
-  [self performSelector:@selector(hide) 
withObject:nil afterDelay:1.0f];
+  [self performSelector:@selector(login) 
withObject:nil afterDelay:0.6f];
   isAleadySaving = NO;
   });
   
diff --git a/Wikipedia-iOS/View Controllers/Login/LoginViewController.h 
b/Wikipedia-iOS/View Controllers/Login/LoginViewController.h
index 7f390a3..83c124d 100644
--- a/Wikipedia-iOS/View Controllers/Login/LoginViewController.h
+++ b/Wikipedia-iOS/View Controllers/Login/LoginViewController.h
@@ -12,4 +12,9 @@
 
 - (IBAction)createAccountButtonPushed:(id)sender;
 
+- (void)loginWithUserName: (NSString *)userName
+ password: (NSString *)password
+onSuccess: (void (^)(void))successBlock
+   onFail: (void (^)(void))failBlock;
+
 @end
diff --git a/Wikipedia-iOS/View Controllers/Login/LoginViewController.m 
b/Wikipedia-iOS/View Controllers/Login/LoginViewController.m
index 08295b1..5f35a4b 100644
--- a/Wikipedia-iOS/View Controllers/Login/LoginViewController.m
+++ b/Wikipedia-iOS/View Controllers/Login/LoginViewController.m
@@ -122,7 +122,11 @@
 
 -(void)save
 {
-[self login];
+[self loginWithUserName: self.usernameField.text
+   password: self.passwordField.text
+  onSuccess: ^{
+  [self performSelector:@selector(hide) withObject:nil 
afterDelay:1.25f];
+  } onFail: nil];
 }
 
 -(void)hide
@@ -147,9 +151,15 @@
 // Dispose of any resources that can be recreated.
 }
 
--(void)login
+-(void)loginWithUserName: (NSString *)userName
+password: (NSString *)password
+   onSuccess: (void (^)(void))successBlock
+  onFail: (void (^)(void))failBlock
 {
 [self showAlert:@""];
+
+if (!successBlock) successBlock = ^(){};
+if (!failBlock) failBlock = ^(){};
 
 /*
 void (^printCookies)() =  ^void(){
@@ -163,57 +173,61 @@
 
 //[[NSHTTPCookieStorage sharedHTTPCookieStorage] 
setCookieAcceptPolicy:NSHTTPCookieAcceptPolicyAlways];
 
-NSString *userName = self.usernameField.text;
-NSString *password = self.passwordField.text;
+LoginOp *loginOp =
+[[LoginOp alloc] initWithUsername: userName
+ password: password
+   domain: [SessionSingleton sharedInstance].domain
+  completionBlock: ^(NSString *loginResult){
+