mirror of
https://github.com/samuelclay/NewsBlur.git
synced 2025-09-18 21:50:56 +00:00
Adding site and folder from iphone app now submits the form.
This commit is contained in:
parent
28d10bf49b
commit
6980245a5a
6 changed files with 82 additions and 55 deletions
|
@ -249,10 +249,11 @@ def load_feeds_flat(request):
|
|||
for folder_name in item:
|
||||
folder = item[folder_name]
|
||||
flat_folder_name = "%s%s%s" % (
|
||||
parent_folder,
|
||||
parent_folder if parent_folder and parent_folder != ' ' else "",
|
||||
" - " if parent_folder and parent_folder != ' ' else "",
|
||||
folder_name
|
||||
)
|
||||
flat_folders[flat_folder_name] = []
|
||||
make_feeds_folder(folder, flat_folder_name, depth+1)
|
||||
|
||||
make_feeds_folder(folders)
|
||||
|
@ -761,7 +762,7 @@ def add_url(request):
|
|||
def add_folder(request):
|
||||
folder = request.POST['folder']
|
||||
parent_folder = request.POST.get('parent_folder', '')
|
||||
|
||||
|
||||
logging.user(request, "~FRAdding Folder: ~SB%s (in %s)" % (folder, parent_folder))
|
||||
|
||||
if folder:
|
||||
|
|
|
@ -39,8 +39,9 @@
|
|||
UILabel *passwordOptionalLabel;
|
||||
}
|
||||
|
||||
- (void)addSite;
|
||||
- (void)addFolder;
|
||||
- (void)reload;
|
||||
- (IBAction)addSite;
|
||||
- (IBAction)addFolder;
|
||||
- (IBAction)selectAddTypeSignup;
|
||||
- (IBAction)doCancelButton;
|
||||
- (IBAction)doAddButton;
|
||||
|
|
|
@ -47,7 +47,6 @@
|
|||
[inFolderInput setLeftViewMode:UITextFieldViewModeAlways];
|
||||
[folderImage release];
|
||||
|
||||
|
||||
navBar.tintColor = [UIColor colorWithRed:0.16f green:0.36f blue:0.46 alpha:0.9];
|
||||
|
||||
[super viewDidLoad];
|
||||
|
@ -89,13 +88,30 @@
|
|||
[super dealloc];
|
||||
}
|
||||
|
||||
- (IBAction)doCancelButton {
|
||||
[appDelegate.addViewController dismissModalViewControllerAnimated:YES];
|
||||
}
|
||||
|
||||
- (IBAction)doAddButton {
|
||||
if ([self.addTypeControl selectedSegmentIndex] == 0) {
|
||||
return [self addSite];
|
||||
} else {
|
||||
return [self addFolder];
|
||||
}
|
||||
}
|
||||
|
||||
- (void)reload {
|
||||
[folderPicker reloadAllComponents];
|
||||
}
|
||||
|
||||
#pragma mark -
|
||||
#pragma mark Add Site
|
||||
|
||||
- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField {
|
||||
if (textField == inFolderInput) {
|
||||
if (textField == inFolderInput && ![inFolderInput isFirstResponder]) {
|
||||
[siteAddressInput resignFirstResponder];
|
||||
[newFolderInput resignFirstResponder];
|
||||
[inFolderInput setInputView:folderPicker];
|
||||
folderPicker.frame = CGRectMake(0, self.view.bounds.size.height, folderPicker.frame.size.width, folderPicker.frame.size.height);
|
||||
folderPicker.hidden = NO;
|
||||
[UIView animateWithDuration:.35 animations:^{
|
||||
|
@ -118,34 +134,31 @@
|
|||
|
||||
- (BOOL)textFieldShouldReturn:(UITextField *)textField {
|
||||
if (textField == inFolderInput) {
|
||||
|
||||
} else if (textField == siteAddressInput) {
|
||||
[self addSite];
|
||||
} else if (textField == newFolderInput) {
|
||||
[self addFolder];
|
||||
}
|
||||
// if(textField == usernameInput) {
|
||||
// [passwordInput becomeFirstResponder];
|
||||
// } else if (textField == passwordInput && [self.addTypeControl selectedSegmentIndex] == 0) {
|
||||
// NSLog(@"Password return");
|
||||
// NSLog(@"appdelegate:: %@", [self appDelegate]);
|
||||
// [self checkPassword];
|
||||
// } else if (textField == passwordInput && [self.addTypeControl selectedSegmentIndex] == 1) {
|
||||
// [emailInput becomeFirstResponder];
|
||||
// } else if (textField == emailInput) {
|
||||
// [self registerAccount];
|
||||
// }
|
||||
return YES;
|
||||
}
|
||||
|
||||
- (void)addSite {
|
||||
- (IBAction)addSite {
|
||||
[siteAddressInput resignFirstResponder];
|
||||
[self.addingLabel setHidden:NO];
|
||||
[self.addingLabel setText:@"Adding site..."];
|
||||
[self.errorLabel setHidden:YES];
|
||||
[self.activityIndicator startAnimating];
|
||||
NSString *urlString = [NSString stringWithFormat:@"http://%@/api/login",
|
||||
NSString *urlString = [NSString stringWithFormat:@"http://%@/reader/add_url",
|
||||
NEWSBLUR_URL];
|
||||
NSURL *url = [NSURL URLWithString:urlString];
|
||||
[[NSHTTPCookieStorage sharedHTTPCookieStorage]
|
||||
setCookieAcceptPolicy:NSHTTPCookieAcceptPolicyAlways];
|
||||
ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:url];
|
||||
[request setPostValue:[inFolderInput text] forKey:@"in_folder"];
|
||||
[request setPostValue:[siteAddressInput text] forKey:@"address"];
|
||||
NSString *folder_title = [inFolderInput text];
|
||||
if (folder_title == @"- Top Level -") {
|
||||
folder_title = @"";
|
||||
}
|
||||
[request setPostValue:folder_title forKey:@"folder"];
|
||||
[request setPostValue:[siteAddressInput text] forKey:@"url"];
|
||||
[request setDelegate:self];
|
||||
[request setDidFinishSelector:@selector(requestFinished:)];
|
||||
[request setDidFailSelector:@selector(requestFailed:)];
|
||||
|
@ -162,14 +175,10 @@
|
|||
// int statusCode = [request responseStatusCode];
|
||||
int code = [[results valueForKey:@"code"] intValue];
|
||||
if (code == -1) {
|
||||
NSDictionary *errors = [results valueForKey:@"errors"];
|
||||
if ([errors valueForKey:@"username"]) {
|
||||
[self.errorLabel setText:[[errors valueForKey:@"username"] objectAtIndex:0]];
|
||||
} else if ([errors valueForKey:@"__all__"]) {
|
||||
[self.errorLabel setText:[[errors valueForKey:@"__all__"] objectAtIndex:0]];
|
||||
}
|
||||
[self.errorLabel setText:[results valueForKey:@"message"]];
|
||||
[self.errorLabel setHidden:NO];
|
||||
} else {
|
||||
[appDelegate.addViewController dismissModalViewControllerAnimated:YES];
|
||||
[appDelegate reloadFeedsView];
|
||||
}
|
||||
|
||||
|
@ -177,17 +186,28 @@
|
|||
}
|
||||
|
||||
|
||||
- (void)addFolder {
|
||||
#pragma mark -
|
||||
#pragma mark Add Folder
|
||||
|
||||
|
||||
- (IBAction)addFolder {
|
||||
[newFolderInput resignFirstResponder];
|
||||
[self.addingLabel setHidden:NO];
|
||||
[self.addingLabel setText:@"Adding Folder..."];
|
||||
[self.errorLabel setHidden:YES];
|
||||
[self.activityIndicator startAnimating];
|
||||
NSString *urlString = [NSString stringWithFormat:@"http://%@/api/add_folder",
|
||||
NSString *urlString = [NSString stringWithFormat:@"http://%@/reader/add_folder",
|
||||
NEWSBLUR_URL];
|
||||
NSURL *url = [NSURL URLWithString:urlString];
|
||||
ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:url];
|
||||
[request setPostValue:[inFolderInput text] forKey:@"in_folder"];
|
||||
[request setPostValue:[newFolderInput text] forKey:@"folder_name"];
|
||||
// [string rangeOfString:substring options:NSBackwardsSearch].location
|
||||
NSString *parent_folder = [inFolderInput text];
|
||||
int folder_loc = [parent_folder rangeOfString:@" - " options:NSBackwardsSearch].location;
|
||||
if ([parent_folder length] && folder_loc > 0) {
|
||||
parent_folder = [parent_folder substringFromIndex:(folder_loc + 3)];
|
||||
}
|
||||
[request setPostValue:parent_folder forKey:@"parent_folder"];
|
||||
[request setPostValue:[newFolderInput text] forKey:@"folder"];
|
||||
[request setDelegate:self];
|
||||
[request setDidFinishSelector:@selector(finishAddFolder:)];
|
||||
[request setDidFailSelector:@selector(requestFailed:)];
|
||||
|
@ -203,14 +223,10 @@
|
|||
// int statusCode = [request responseStatusCode];
|
||||
int code = [[results valueForKey:@"code"] intValue];
|
||||
if (code == -1) {
|
||||
NSDictionary *errors = [results valueForKey:@"errors"];
|
||||
if ([errors valueForKey:@"email"]) {
|
||||
[self.errorLabel setText:[[errors valueForKey:@"email"] objectAtIndex:0]];
|
||||
} else if ([errors valueForKey:@"username"]) {
|
||||
[self.errorLabel setText:[[errors valueForKey:@"username"] objectAtIndex:0]];
|
||||
}
|
||||
[self.errorLabel setText:[results valueForKey:@"message"]];
|
||||
[self.errorLabel setHidden:NO];
|
||||
} else {
|
||||
[appDelegate.addViewController dismissModalViewControllerAnimated:YES];
|
||||
[appDelegate reloadFeedsView];
|
||||
}
|
||||
|
||||
|
@ -224,7 +240,7 @@
|
|||
}
|
||||
|
||||
#pragma mark -
|
||||
#pragma mark Add Folder
|
||||
#pragma mark Page Controls
|
||||
|
||||
- (IBAction)selectAddTypeSignup {
|
||||
[self animateLoop];
|
||||
|
@ -290,7 +306,13 @@ numberOfRowsInComponent:(NSInteger)component {
|
|||
- (void)pickerView:(UIPickerView *)pickerView
|
||||
didSelectRow:(NSInteger)row
|
||||
inComponent:(NSInteger)component {
|
||||
|
||||
NSString *folder_title;
|
||||
if (row == 0) {
|
||||
folder_title = @"- Top Level -";
|
||||
} else {
|
||||
folder_title = [[appDelegate dictFoldersArray] objectAtIndex:row];
|
||||
}
|
||||
[inFolderInput setText:folder_title];
|
||||
}
|
||||
|
||||
#pragma mark -
|
||||
|
@ -301,15 +323,4 @@ numberOfRowsInComponent:(NSInteger)component {
|
|||
return 0;
|
||||
}
|
||||
|
||||
#pragma mark -
|
||||
#pragma mark Server
|
||||
|
||||
- (IBAction)doCancelButton {
|
||||
[appDelegate.addViewController dismissModalViewControllerAnimated:YES];
|
||||
}
|
||||
|
||||
- (IBAction)doAddButton {
|
||||
|
||||
}
|
||||
|
||||
@end
|
||||
|
|
|
@ -130,7 +130,6 @@
|
|||
<string key="NSFrame">{{98, 310}, {20, 20}}</string>
|
||||
<reference key="NSSuperview" ref="973185930"/>
|
||||
<reference key="NSWindow"/>
|
||||
<reference key="NSNextKeyView"/>
|
||||
<string key="NSReuseIdentifierKey">_NS:824</string>
|
||||
<bool key="IBUIOpaque">NO</bool>
|
||||
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
|
||||
|
@ -5132,6 +5131,8 @@ AAgAAAAIAAIACAACAAAAAgAAAAEAAQABAAE</bytes>
|
|||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="NSArray" key="dict.sortedKeys">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>addFolder</string>
|
||||
<string>addSite</string>
|
||||
<string>doAddButton</string>
|
||||
<string>doCancelButton</string>
|
||||
<string>selectAddTypeSignup</string>
|
||||
|
@ -5141,18 +5142,30 @@ AAgAAAAIAAIACAACAAAAAgAAAAEAAQABAAE</bytes>
|
|||
<string>id</string>
|
||||
<string>id</string>
|
||||
<string>id</string>
|
||||
<string>id</string>
|
||||
<string>id</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="NSMutableDictionary" key="actionInfosByName">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="NSArray" key="dict.sortedKeys">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>addFolder</string>
|
||||
<string>addSite</string>
|
||||
<string>doAddButton</string>
|
||||
<string>doCancelButton</string>
|
||||
<string>selectAddTypeSignup</string>
|
||||
</object>
|
||||
<object class="NSMutableArray" key="dict.values">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="IBActionInfo">
|
||||
<string key="name">addFolder</string>
|
||||
<string key="candidateClassName">id</string>
|
||||
</object>
|
||||
<object class="IBActionInfo">
|
||||
<string key="name">addSite</string>
|
||||
<string key="candidateClassName">id</string>
|
||||
</object>
|
||||
<object class="IBActionInfo">
|
||||
<string key="name">doAddButton</string>
|
||||
<string key="candidateClassName">id</string>
|
||||
|
|
|
@ -110,6 +110,7 @@
|
|||
- (void)showAdd {
|
||||
UINavigationController *navController = self.navigationController;
|
||||
[navController presentModalViewController:addViewController animated:YES];
|
||||
[addViewController reload];
|
||||
}
|
||||
|
||||
- (void)reloadFeedsView {
|
||||
|
|
|
@ -12,8 +12,8 @@
|
|||
green:((float)((rgbValue & 0xFF00) >> 8))/255.0 \
|
||||
blue:((float)(rgbValue & 0xFF))/255.0 alpha:1.0]
|
||||
|
||||
// #define NEWSBLUR_URL [NSString stringWithFormat:@"nb.local.host:8000"]
|
||||
#define NEWSBLUR_URL [NSString stringWithFormat:@"www.newsblur.com"]
|
||||
#define NEWSBLUR_URL [NSString stringWithFormat:@"nb.local.host:8000"]
|
||||
// #define NEWSBLUR_URL [NSString stringWithFormat:@"www.newsblur.com"]
|
||||
|
||||
#define UIColorFromRGB(rgbValue) [UIColor \
|
||||
colorWithRed:((float)((rgbValue & 0xFF0000) >> 16))/255.0 \
|
||||
|
|
Loading…
Add table
Reference in a new issue