Skip to content
This repository has been archived by the owner on Apr 18, 2018. It is now read-only.

Commit

Permalink
More twitter sharing, admin login fixes, about screen.
Browse files Browse the repository at this point in the history
  • Loading branch information
gabriel committed May 15, 2011
1 parent 307db7b commit d3a5d0e
Show file tree
Hide file tree
Showing 28 changed files with 7,499 additions and 3,981 deletions.
2 changes: 2 additions & 0 deletions KegPad/Classes/Controllers/Admin/KBAdminLoginViewController.h
Expand Up @@ -31,4 +31,6 @@
KBUIFormTextField *passwordField_;
}

- (id)initWithEditable:(BOOL)editable;

@end
51 changes: 44 additions & 7 deletions KegPad/Classes/Controllers/Admin/KBAdminLoginViewController.m
Expand Up @@ -9,6 +9,7 @@
#import "KBAdminLoginViewController.h"

#import "KBAdminViewController.h"
#import "KBAboutViewController.h"


@implementation KBAdminLoginNavigationController
Expand All @@ -25,33 +26,69 @@ - (id)init {

@end

@interface KBAdminLoginViewController ()
- (NSString *)_password;
@end

@implementation KBAdminLoginViewController

- (id)init {
return [self initWithEditable:NO];
}

- (id)initWithEditable:(BOOL)editable {
if ((self = [super initWithStyle:UITableViewStyleGrouped])) {
self.title = @"Admin";
passwordField_ = [[KBUIFormTextField formTextFieldWithTitle:@"Password" text:nil] retain];
passwordField_.secureTextEntry = YES;
passwordField_.secureTextEntry = !editable;
passwordField_.textField.clearsOnBeginEditing = YES;
passwordField_.textField.clearButtonMode = UITextFieldViewModeAlways;
passwordField_.textField.delegate = self;
[self addForm:passwordField_];

if (editable) {
passwordField_.text = [self _password];
[passwordField_.textField addTarget:self action:@selector(_onTextFieldDidChange:) forControlEvents:UIControlEventEditingChanged];
} else {
self.navigationItem.leftBarButtonItem = [[[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemCancel target:self action:@selector(_cancel)] autorelease];
[self addForm:[KBUIForm formWithTitle:@"About" text:nil target:self action:@selector(_about) showDisclosure:YES] section:1];
}
}
return self;
}

- (void)_cancel {
[self dismissModalViewControllerAnimated:YES];
}

- (NSString *)_password {
NSString *password = [[NSUserDefaults standardUserDefaults] objectForKey:@"AdminPassword"];
if (!password) password = @"kegmate";
return password;
}

- (void)_about {
KBAboutViewController *aboutViewController = [[KBAboutViewController alloc] init];
[self.navigationController pushViewController:aboutViewController animated:YES];
[aboutViewController release];
}

- (BOOL)_login {
NSString *password = passwordField_.textField.text;

NSString *match = [[NSUserDefaults standardUserDefaults] objectForKey:@"AdminPassword"];
if (!match) match = @"kegmate";

if (![password isEqualToString:match]) return NO;
NSString *password = passwordField_.text;
if (![password isEqualToString:[self _password]]) return NO;
[passwordField_.textField resignFirstResponder];
KBAdminViewController *adminViewController = [[KBAdminViewController alloc] init];
[self.navigationController pushViewController:adminViewController animated:YES];
[adminViewController release];
return YES;
}

- (void)_onTextFieldDidChange:(id)sender {
// Save on any edits
[[NSUserDefaults standardUserDefaults] setObject:[passwordField_.text gh_strip] forKey:@"AdminPassword"];
[[NSUserDefaults standardUserDefaults] synchronize];
}

- (BOOL)textFieldShouldReturn:(UITextField *)textField {
return [self _login];
}
Expand Down
18 changes: 13 additions & 5 deletions KegPad/Classes/Controllers/Admin/KBAdminViewController.m
Expand Up @@ -26,6 +26,7 @@
#import "KBDataImporter.h"
#import "KBUIForm.h"
#import "KBTwitterAdminViewController.h"
#import "KBAdminLoginViewController.h"


@implementation KBAdminNavigationController
Expand All @@ -37,7 +38,7 @@ - (id)init {
[self pushViewController:adminViewController_ animated:NO];
}
return self;
}
}

- (void)dealloc {
[adminViewController_ release];
Expand All @@ -51,10 +52,11 @@ @implementation KBAdminViewController
- (id)init {
if ((self = [super initWithStyle:UITableViewStyleGrouped])) {
self.title = @"Admin";
[self addForm:[KBUIForm formWithTitle:@"Beers" text:@"Show list of beers." target:self action:@selector(showBeers) showDisclosure:YES]];
[self addForm:[KBUIForm formWithTitle:@"Kegs" text:@"Show keg list." target:self action:@selector(showKegs) showDisclosure:YES]];
[self addForm:[KBUIForm formWithTitle:@"Users" text:@"Show users." target:self action:@selector(showUsers) showDisclosure:YES]];
[self addForm:[KBUIForm formWithTitle:@"Twitter" text:@"Setup twitter." target:self action:@selector(showTwitterAdmin) showDisclosure:YES]];
[self addForm:[KBUIForm formWithTitle:@"Beers" text:nil target:self action:@selector(showBeers) showDisclosure:YES]];
[self addForm:[KBUIForm formWithTitle:@"Kegs" text:nil target:self action:@selector(showKegs) showDisclosure:YES]];
[self addForm:[KBUIForm formWithTitle:@"Users" text:nil target:self action:@selector(showUsers) showDisclosure:YES]];
[self addForm:[KBUIForm formWithTitle:@"Twitter" text:@"Connect to twitter." target:self action:@selector(showTwitterAdmin) showDisclosure:YES]];
[self addForm:[KBUIForm formWithTitle:@"Password" text:@"Admin password." target:self action:@selector(showPassword) showDisclosure:YES]];
[self addForm:[KBUIForm formWithTitle:@"Simulator" text:@"For testing." target:self action:@selector(showSimulator) showDisclosure:YES]];
[self addForm:[KBUIForm formWithTitle:@"Update fixtures" text:@"Load fixture data (will reset changes from fixture data)."
target:self action:@selector(updateWithFixtures) showDisclosure:NO]];
Expand Down Expand Up @@ -104,6 +106,12 @@ - (void)showTwitterAdmin {
[twitterAdminViewController release];
}

- (void)showPassword {
KBAdminLoginViewController *adminLoginViewController = [[KBAdminLoginViewController alloc] initWithEditable:YES];
[self.navigationController pushViewController:adminLoginViewController animated:YES];
[adminLoginViewController release];
}

- (void)updateWithFixtures {
// Manual importing of data; Temporary until we build out admin section
[KBDataImporter updateDataStore:[KBApplication dataStore]];
Expand Down
Expand Up @@ -34,7 +34,7 @@ - (id)init {
[self addForm:[KBUIForm formWithTitle:@"Simulate unknown tag" text:@"" target:kegManagerSimulator_ action:@selector(unknownTag) showDisclosure:NO]];
[self addForm:[KBUIForm formWithTitle:@"Simulate pours (multiple)" text:@"" target:kegManagerSimulator_ action:@selector(pours) showDisclosure:NO]];
[self addForm:[KBUIForm formWithTitle:@"Simulate pours (multiple short)" text:@"" target:kegManagerSimulator_ action:@selector(poursShort) showDisclosure:NO]];
[self addForm:[KBUIForm formWithTitle:@"Simulate pours (short)" text:@"" target:kegManagerSimulator_ action:@selector(pourShort) showDisclosure:NO]];
[self addForm:[KBUIForm formWithTitle:@"Simulate pour (short,anonymous)" text:@"" target:kegManagerSimulator_ action:@selector(pourShort) showDisclosure:NO]];
[self addForm:[KBUIForm formWithTitle:@"Simulate pour (long)" text:@"" target:kegManagerSimulator_ action:@selector(pourLong) showDisclosure:NO]];
}
return self;
Expand Down
14 changes: 14 additions & 0 deletions KegPad/Classes/Controllers/KBAboutViewController.h
@@ -0,0 +1,14 @@
//
// KBAboutViewController.h
// KegPad
//
// Created by Gabriel Handford on 5/14/11.
// Copyright 2011 __MyCompanyName__. All rights reserved.
//


@interface KBAboutViewController : UIViewController {

}

@end
21 changes: 21 additions & 0 deletions KegPad/Classes/Controllers/KBAboutViewController.m
@@ -0,0 +1,21 @@
//
// KBAboutViewController.m
// KegPad
//
// Created by Gabriel Handford on 5/14/11.
// Copyright 2011 __MyCompanyName__. All rights reserved.
//

#import "KBAboutViewController.h"


@implementation KBAboutViewController

- (id)init {
if ((self = [self initWithNibName:nil bundle:nil])) {
self.title = @"About";
}
return self;
}

@end

0 comments on commit d3a5d0e

Please sign in to comment.