Revision 7db1712d Classes/UploadGenericFileViewController.m
b/Classes/UploadGenericFileViewController.m | ||
---|---|---|
19 | 19 |
#import "OCMimeType.h" |
20 | 20 |
#import "RSTextFieldCell.h" |
21 | 21 |
#import "NSObject+Conveniences.h" |
22 |
#import "APICallback.h" |
|
22 | 23 |
|
23 | 24 |
#define kName 0 |
24 | 25 |
#define kContentType 1 |
... | ... | |
218 | 219 |
BOOL objectNameHasTrailingSlash = [objectName hasSuffix:@"/"]; |
219 | 220 |
NSUInteger indexOfFirstSlash = [objectName rangeOfString:@"/"].location; |
220 | 221 |
|
221 |
if (!objectNameHasTrailingSlash && indexOfFirstSlash != NSNotFound ||
|
|
222 |
objectNameHasTrailingSlash && indexOfFirstSlash < objectName.length - 1) {
|
|
222 |
if ((!objectNameHasTrailingSlash && indexOfFirstSlash != NSNotFound) ||
|
|
223 |
(objectNameHasTrailingSlash && indexOfFirstSlash < objectName.length - 1)) {
|
|
223 | 224 |
[self alert:@"Invalid folder name" message:@"'/' characters are only allowed at the end of folder names"]; |
224 | 225 |
return; |
225 | 226 |
} |
... | ... | |
252 | 253 |
object.data = data; |
253 | 254 |
object.bytes = [data length]; |
254 | 255 |
|
255 |
[self.account.manager writeObject:self.container object:object downloadProgressDelegate:activityIndicatorView.progressView]; |
|
256 |
|
|
257 |
successObserver = [[NSNotificationCenter defaultCenter] addObserverForName:@"writeObjectSucceeded" object:object queue:[NSOperationQueue mainQueue] usingBlock:^(NSNotification* notification) |
|
258 |
{ |
|
259 |
[activityIndicatorView removeFromSuperviewAndRelease]; |
|
260 |
object.data = nil; |
|
261 |
object.sharing = folder.sharing; |
|
262 |
[folder.objects setObject:object forKey:object.name]; |
|
263 |
[folderViewController.tableView reloadData]; |
|
264 |
allowOverwrite = NO; |
|
265 |
[self dismissModalViewControllerAnimated:YES]; |
|
266 |
[[NSNotificationCenter defaultCenter] removeObserver:successObserver]; |
|
267 |
}]; |
|
268 |
|
|
269 |
failureObserver = [[NSNotificationCenter defaultCenter] addObserverForName:@"writeObjectFailed" object:object queue:[NSOperationQueue mainQueue] usingBlock:^(NSNotification* notification) |
|
270 |
{ |
|
271 |
allowOverwrite = NO; |
|
272 |
[activityIndicatorView removeFromSuperviewAndRelease]; |
|
273 |
[self alert:@"There was a problem uploading the file." request:[notification.userInfo objectForKey:@"request"]]; |
|
274 |
[[NSNotificationCenter defaultCenter] removeObserver:failureObserver]; |
|
275 |
}]; |
|
256 |
[[self.account.manager writeObject:self.container object:object downloadProgressDelegate:activityIndicatorView.progressView] |
|
257 |
success:^(OpenStackRequest *request) { |
|
258 |
[activityIndicatorView removeFromSuperviewAndRelease]; |
|
259 |
object.data = nil; |
|
260 |
object.sharing = folder.sharing; |
|
261 |
BOOL currentFolderIsRoot; |
|
262 |
if ([folderViewController.folder isEqual:container.rootFolder]) { |
|
263 |
currentFolderIsRoot = YES; |
|
264 |
} |
|
265 |
[folder.objects setObject:object forKey:object.name]; |
|
266 |
[folderViewController.tableView reloadData]; |
|
267 |
if (currentFolderIsRoot) { |
|
268 |
container.count += 1; |
|
269 |
container.rootFolder = folder; |
|
270 |
[self.account.containers setObject:container forKey:container.name]; |
|
271 |
} |
|
272 |
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) |
|
273 |
[folderViewController setDetailViewController]; |
|
274 |
allowOverwrite = NO; |
|
275 |
[self dismissModalViewControllerAnimated:YES]; |
|
276 |
} |
|
277 |
failure:^(OpenStackRequest *request) { |
|
278 |
allowOverwrite = NO; |
|
279 |
[activityIndicatorView removeFromSuperviewAndRelease]; |
|
280 |
[self alert:@"There was a problem uploading the file." request:request]; |
|
281 |
}]; |
|
276 | 282 |
} |
277 | 283 |
|
278 | 284 |
#pragma mark - Alertview delegate |
Also available in: Unified diff