Revision 7db1712d Classes/EditAccountGroupsViewController.m
b/Classes/EditAccountGroupsViewController.m | ||
---|---|---|
39 | 39 |
#import "UIViewController+Conveniences.h" |
40 | 40 |
#import "AccountManager.h" |
41 | 41 |
#import "OpenStackRequest.h" |
42 |
#import "APICallback.h" |
|
42 | 43 |
|
43 | 44 |
#define kGroupDetails 0 |
44 | 45 |
#define kSave 1 |
... | ... | |
221 | 222 |
metadata, @"metadata", |
222 | 223 |
nil |
223 | 224 |
]; |
224 |
[self.account.manager writeAccountMetadata:accountInfo]; |
|
225 |
successObserver = [[NSNotificationCenter defaultCenter] addObserverForName:@"writeAccountMetadataRequestSucceeded" |
|
226 |
object:self.account |
|
227 |
queue:[NSOperationQueue mainQueue] |
|
228 |
usingBlock:^(NSNotification *notification) |
|
229 |
{ |
|
230 |
[activityIndicatorView removeFromSuperviewAndRelease]; |
|
231 |
self.groupName = newGroupName; |
|
232 |
self.groupUsers = newGroupUsers; |
|
233 |
self.removeGroupEnabled = YES; |
|
234 |
self.navigationItem.title = @"Edit Group"; |
|
235 |
[self.tableView deselectRowAtIndexPath:indexPath animated:YES]; |
|
236 |
[self.tableView reloadData]; |
|
237 |
[[NSNotificationCenter defaultCenter] removeObserver:successObserver]; |
|
238 |
}]; |
|
239 |
|
|
240 |
failureObserver = [[NSNotificationCenter defaultCenter] addObserverForName:@"writeAccountMetadataRequestFailed" |
|
241 |
object:self.account |
|
242 |
queue:[NSOperationQueue mainQueue] |
|
243 |
usingBlock:^(NSNotification *notification) |
|
244 |
{ |
|
245 |
[activityIndicatorView removeFromSuperviewAndRelease]; |
|
246 |
[groups removeObjectForKey:newGroupName]; |
|
247 |
[groups setObject:self.groupUsers forKey:self.groupName]; |
|
248 |
[self.tableView reloadData]; |
|
249 |
[self.tableView deselectRowAtIndexPath:indexPath animated:YES]; |
|
250 |
[self alert:@"There was a problem saving the group information." request:[notification.userInfo objectForKey:@"request"]]; |
|
251 |
|
|
252 |
[[NSNotificationCenter defaultCenter] removeObserver:failureObserver]; |
|
253 |
}]; |
|
225 |
[[self.account.manager writeAccountMetadata:accountInfo] |
|
226 |
success:^(OpenStackRequest *request) { |
|
227 |
[activityIndicatorView removeFromSuperviewAndRelease]; |
|
228 |
self.groupName = newGroupName; |
|
229 |
self.groupUsers = newGroupUsers; |
|
230 |
self.removeGroupEnabled = YES; |
|
231 |
self.navigationItem.title = @"Edit Group"; |
|
232 |
[self.tableView deselectRowAtIndexPath:indexPath animated:YES]; |
|
233 |
[self.tableView reloadData]; |
|
234 |
} |
|
235 |
failure:^(OpenStackRequest *request) { |
|
236 |
[activityIndicatorView removeFromSuperviewAndRelease]; |
|
237 |
[groups removeObjectForKey:newGroupName]; |
|
238 |
[groups setObject:self.groupUsers forKey:self.groupName]; |
|
239 |
[self.tableView reloadData]; |
|
240 |
[self.tableView deselectRowAtIndexPath:indexPath animated:YES]; |
|
241 |
[self alert:@"There was a problem saving the group information." request:request]; |
|
242 |
}]; |
|
254 | 243 |
} else if (indexPath.section == kRemove) { |
255 | 244 |
activityMessage = @"Removing group"; |
256 | 245 |
activityIndicatorView = [[ActivityIndicatorView alloc] initWithFrame:[ActivityIndicatorView frameForText:activityMessage] text:activityMessage]; |
... | ... | |
262 | 251 |
nil |
263 | 252 |
]; |
264 | 253 |
|
265 |
[self.account.manager writeAccountMetadata:accountInfo]; |
|
266 |
successObserver = [[NSNotificationCenter defaultCenter] addObserverForName:@"writeAccountMetadataRequestSucceeded" |
|
267 |
object:self.account |
|
268 |
queue:[NSOperationQueue mainQueue] |
|
269 |
usingBlock:^(NSNotification *notification) |
|
270 |
{ |
|
271 |
[activityIndicatorView removeFromSuperviewAndRelease]; |
|
272 |
self.groupName = @""; |
|
273 |
self.groupUsers = @""; |
|
274 |
self.removeGroupEnabled = NO; |
|
275 |
[self.tableView reloadData]; |
|
276 |
[self.tableView deselectRowAtIndexPath:indexPath animated:YES]; |
|
277 |
[[NSNotificationCenter defaultCenter] removeObserver:successObserver]; |
|
278 |
}]; |
|
279 |
|
|
280 |
failureObserver = [[NSNotificationCenter defaultCenter] addObserverForName:@"writeAccountMetadataRequestFailed" |
|
281 |
object:self.account |
|
282 |
queue:[NSOperationQueue mainQueue] |
|
283 |
usingBlock:^(NSNotification *notification) |
|
284 |
{ |
|
285 |
[activityIndicatorView removeFromSuperviewAndRelease]; |
|
286 |
[groups setObject:groupUsers forKey:groupName]; |
|
287 |
[self.tableView deselectRowAtIndexPath:indexPath animated:YES]; |
|
288 |
[self alert:@"There was a problem removing the group information." request:[notification.userInfo objectForKey:@"request"]]; |
|
289 |
|
|
290 |
[[NSNotificationCenter defaultCenter] removeObserver:failureObserver]; |
|
291 |
}]; |
|
254 |
[[self.account.manager writeAccountMetadata:accountInfo] |
|
255 |
success:^(OpenStackRequest *request) { |
|
256 |
[activityIndicatorView removeFromSuperviewAndRelease]; |
|
257 |
self.groupName = @""; |
|
258 |
self.groupUsers = @""; |
|
259 |
self.removeGroupEnabled = NO; |
|
260 |
[self.tableView reloadData]; |
|
261 |
[self.tableView deselectRowAtIndexPath:indexPath animated:YES]; |
|
262 |
} |
|
263 |
failure:^(OpenStackRequest *request) { |
|
264 |
[activityIndicatorView removeFromSuperviewAndRelease]; |
|
265 |
[groups setObject:groupUsers forKey:groupName]; |
|
266 |
[self.tableView deselectRowAtIndexPath:indexPath animated:YES]; |
|
267 |
[self alert:@"There was a problem removing the group information." request:request]; |
|
268 |
}]; |
|
292 | 269 |
} |
293 |
|
|
294 | 270 |
} |
295 | 271 |
|
296 | 272 |
#pragma mark - Textfield delegate |
Also available in: Unified diff