#import #import "ppbankLoginViewController.h" #import "Notifications.h" #import "IMSDefines.h" #import @interface ppbankLoginViewController () @end @implementation ppbankLoginViewController @synthesize InnerWindow; @synthesize UserName; @synthesize Password; @synthesize LoginButton; @synthesize AppName; @synthesize AppLogo; @synthesize StatusBar; - (void)viewDidLoad { [super viewDidLoad]; self.UserNameLabel.EnglishText = nil; self.UserNameLabel.text = NSLocalizedString(@"Username", @""); self.UserNameLabel.EnglishText = @"Username"; self.PasswordLabel.EnglishText = nil; self.PasswordLabel.text = NSLocalizedString(@"Password", @""); self.PasswordLabel.EnglishText = @"Password"; self.ExtraLabel.text = NSLocalizedString(@"Please enter winbank credentials", @""); self.AppName.hidden = NO; self.UserName.delegate = self; self.Password.delegate = self; #ifdef ppbank_VERSION self.ExtraLabel.Emphasis = false; self.StatusBar.layer.borderWidth = 0; self.SettingsImage.hidden = true; if (!self.loaded) { CGFloat diff = 40; self.loaded = true; self.UserNameLabel.frame = CGRectMake(self.UserNameLabel.frame.origin.x, self.UserNameLabel.frame.origin.y, self.UserNameLabel.frame.size.width - diff, self.UserNameLabel.frame.size.height); self.PasswordLabel.frame = CGRectMake(self.PasswordLabel.frame.origin.x, self.PasswordLabel.frame.origin.y, self.PasswordLabel.frame.size.width - diff, self.PasswordLabel.frame.size.height); self.UserName.frame = CGRectMake(self.UserName.frame.origin.x - diff, self.UserName.frame.origin.y, self.UserName.frame.size.width + diff, self.UserName.frame.size.height); self.Password.frame = CGRectMake(self.Password.frame.origin.x - diff, self.Password.frame.origin.y, self.Password.frame.size.width + diff, self.Password.frame.size.height); } self.UserNameLabel.hidden = true; self.PasswordLabel.hidden = true; self.UserName.placeholder = self.UserNameLabel.text; self.Password.placeholder = self.PasswordLabel.text; self.UserName.frame = CGRectMake(8, self.UserName.frame.origin.y, self.InnerWindow.bounds.size.width-16, self.UserName.bounds.size.height); self.Password.frame = CGRectMake(8, self.Password.frame.origin.y, self.InnerWindow.bounds.size.width-16, self.Password.bounds.size.height); // self.UserNameLabel.EnglishText = nil; // self.UserNameLabel.text = @"Username"; // self.PasswordLabel.EnglishText = nil; // self.PasswordLabel.text = @"Password"; // // self.ExtraLabel.text = NSLocalizedString(@"Please enter winbank credentials", @""); self.AppName.hidden = YES; self.AppLogo.hidden = NO; #endif if (!self.AppName.hidden) { // show bundle name self.AppLogo.hidden = YES; self.AppName.hidden = NO; self.AppName.text = NSLocalizedString(@"IMSplus Mobility", @""); } [self RegisterForSOAP:NOTIFY_SOAP_LOGIN]; // Do any additional setup after loading the view. self.Parameters = nil; // self.InnerWindow.layer.cornerRadius = 6; self.InnerWindow.layer.borderWidth = 0; // self.InnerWindow.layer.borderColor = [[[PFAppTheme Theme] SeparatorColor] CGColor]; NSString *defaultsVal = [[NSUserDefaults standardUserDefaults] objectForKey:USERDEFAULTS_USERNAME]; int EnableRememberUserName = [[self.dataManager GetFirstValue:@"select EnableRememberUserName from appstatus" withParameters:nil] intValue]; BOOL defaultsRemember = [[[NSUserDefaults standardUserDefaults] valueForKey:@"rememberUserName"] boolValue]; //UserName.backgroundColor = [UIColor whiteColor]; UserName.layer.cornerRadius = 6; UserName.clipsToBounds = true; UserName.textColor = [UIColor blackColor]; if (defaultsVal.length>0 && EnableRememberUserName && defaultsRemember) UserName.text = defaultsVal; defaultsVal = [[NSUserDefaults standardUserDefaults] objectForKey:USERDEFAULTS_PASSWORD]; //Password.backgroundColor = [UIColor whiteColor]; Password.layer.cornerRadius = 6; Password.clipsToBounds = true; Password.textColor = [UIColor blackColor]; if (defaultsVal.length>0) Password.text = defaultsVal; } - (void)viewDidUnload { [self setInnerWindow:nil]; [self setUserName:nil]; [self setPassword:nil]; [self setLoginButton:nil]; [super viewDidUnload]; // Release any retained subviews of the main view. } -(BOOL)textFieldShouldReturn:(UITextField *)textField { if (self.UserName.text.length == 0) { [self.UserName becomeFirstResponder]; } else if (self.Password.text.length == 0) { [self.Password becomeFirstResponder]; } else { [self LoginPressed:nil]; } return false; } -(void)OverridableEmbededInitialize { [super OverridableEmbededInitialize]; ExecuteAsyncInMain(^{ UserName.attributedPlaceholder = [[NSAttributedString alloc] initWithString:UserName.placeholder attributes:@{NSForegroundColorAttributeName: [[UIColor whiteColor] colorWithAlphaComponent:0.5]}]; Password.attributedPlaceholder = [[NSAttributedString alloc] initWithString:Password.placeholder attributes:@{NSForegroundColorAttributeName: [[UIColor whiteColor] colorWithAlphaComponent:0.5]}]; self.LoginButton.layer.borderWidth = 0; self.LoginButton.layer.cornerRadius = 5; [self.LoginButton setTitleColor:[[PFAppTheme Theme] NormalBackgroundColor] forState:UIControlStateNormal]; self.LoginButton.backgroundColor = [UIColor whiteColor]; self.UserName.NoTheme = true; self.Password.NoTheme = true; self.UserName.Emphasis = true; self.Password.Emphasis = true; //self.ProFileLogo.image = [IMSFormatter tintedImageFromImage:self.ProFileLogo.image withColor:[UIColor whiteColor]]; self.UserName.backgroundColor = [UIColor clearColor]; self.Password.backgroundColor = [UIColor clearColor]; self.UserName.tintColor = [UIColor whiteColor]; self.Password.tintColor = [UIColor whiteColor]; self.UserName.textColor = [UIColor whiteColor]; self.Password.textColor = [UIColor whiteColor]; self.UserName.layer.cornerRadius=8.0f; self.UserName.layer.masksToBounds=YES; self.UserName.layer.borderColor=[[UIColor whiteColor]CGColor]; self.UserName.layer.borderWidth= 1.1f; self.Password.layer.cornerRadius=8.0f; self.Password.layer.masksToBounds=YES; self.Password.layer.borderColor=[[UIColor whiteColor]CGColor]; self.Password.layer.borderWidth= 1.1f; // if (self.UserName.text.length == 0) { // [self.UserName becomeFirstResponder]; // } else if (self.Password.text.length == 0) { // [self.Password becomeFirstResponder]; // } [self performSelector:@selector(textFieldShouldReturn:) withObject:nil afterDelay:0.5]; if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 7.0) { UIView *v = [[UIView alloc] init]; v.Emphasis = true; } }); // if (!self.AppName.hidden) { // //NSLog(@"StatusBar frame before: %@", NSStringFromCGRect(self.StatusBar.frame)); // self.StatusBar.frame = CGRectMake(self.StatusBar.frame.origin.x, self.StatusBar.frame.origin.y-14, self.StatusBar.frame.size.width, self.StatusBar.frame.size.height+14); // //NSLog(@"StatusBar frame after: %@", NSStringFromCGRect(self.StatusBar.frame)); // } } -(void)NotifiedForSoap:(NSNotification *)notification { if ([self.view.superview isKindOfClass:[UIEmbedView class]]) { UIEmbedView *ev = (UIEmbedView *)self.view.superview; if (!ev.OuterController) { return; } } [super NotifiedForSoap:notification]; if ([notification.name isEqualToString:[PFSOAPBO SOAPForDone:NOTIFY_SOAP_LOGIN]]) { self.Password.text = @""; [[NSUserDefaults standardUserDefaults] setObject:@"1" forKey:@"loggedOnce"]; [[NSUserDefaults standardUserDefaults] synchronize]; /* #ifdef ppbank_VERSION // if (UI_USER_INTERFACE_IDIOM() != UIUserInterfaceIdiomPad) { [self NavigateTo:@"Menu" withRow:nil]; // } else { // [self NavigateTo:@"Dashboard" withRow:nil]; // } #else [self NavigateTo:@"Dashboard" withRow:nil]; #endif */ // check flag to show/hide main menu BOOL EnableMainMenu = NO; IMSMutableDictionary *dict = [self.dataManager GetFirstRow:@"select * from AppStatus" withParameters:nil]; if (dict) EnableMainMenu = [[dict objectForKey:@"EnableMainMenu"] boolValue]; #ifdef ppbank_VERSION BOOL isRM = [[self.dataManager GetFirstValue:@"select rm from user" withParameters:nil] boolValue]; if (isRM) { [self NavigateTo:@"Clients" withRow:nil]; } else { IMSMutableDictionary *row = [self.dataManager GetFirstRow:@"select * from customers" withParameters:nil]; [self NavigateTo:@"Client" withRow:row]; } UIEmbedView *ev = (UIEmbedView *)self.view.superview; NSMutableArray *arr = [[NSMutableArray alloc] initWithArray:ev.OuterController.navigationController.viewControllers]; [arr removeObject:ev.OuterController]; ev.OuterController.navigationController.viewControllers = arr; #else if ( EnableMainMenu ) [self NavigateTo:@"Menu" withRow:nil]; else [self NavigateTo:@"Dashboard" withRow:nil]; #endif } } - (IBAction)LoginPressed:(id)sender { if (UserName.text.length == 0) { [UserName becomeFirstResponder]; NSString *msg = NSLocalizedString(@"No Username", @""); if (msg.length > 0) { UIAlertView *alert = [[UIAlertView alloc] initWithTitle:nil message:msg delegate:nil cancelButtonTitle:NSLocalizedString(@"OK", @"") otherButtonTitles:nil]; [alert show]; } return; } if (Password.text.length == 0) { [Password becomeFirstResponder]; NSString *msg = NSLocalizedString(@"No Password", @""); if (msg.length > 0) { UIAlertView *alert = [[UIAlertView alloc] initWithTitle:nil message:msg delegate:nil cancelButtonTitle:NSLocalizedString(@"OK", @"") otherButtonTitles:nil]; [alert show]; } return; } [[[UIApplication sharedApplication].windows objectAtIndex:0] endEditing:YES]; [[NSUserDefaults standardUserDefaults] setObject:self.UserName.text forKey:USERDEFAULTS_USERNAME]; [[NSUserDefaults standardUserDefaults] synchronize]; NSString *body = [NSString stringWithFormat:@"\n" [[PFLanguageUtil DefaultUtil] language], [[UIDevice currentDevice] name], @"2"]; [[NSNotificationCenter defaultCenter] postNotificationName:NOTIFY_SOAP_LOGIN object:body]; } - (IBAction)GearPressed:(id)sender { UIEmbedView *ev = (UIEmbedView *)self.view.superview; [(IMSViewController *)ev.OuterController ShowFormSheet:@"Settings" title:NSLocalizedString(@"Settings", @"")]; } @end