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