Revision 54fd5c36 Classes/EditMetadataViewController.m

b/Classes/EditMetadataViewController.m
52 52

  
53 53
@synthesize metadataKey;
54 54
@synthesize metadataValue;
55
@synthesize userInputMetaKey, userInputMetaValue;
55 56
@synthesize removeMetadataEnabled, objectIsFolder, folderViewController, objectIsContainer;
56 57

  
57 58
#define kMetadata 0 
......
66 67
    [object release];
67 68
    [metadataKey release];
68 69
    [metadataValue release];
70
    [userInputMetaKey release];
71
    [userInputMetaValue release];
69 72
    [super dealloc];
70 73
}
71 74

  
......
201 204
            keyCellIndexPath = [NSIndexPath indexPathForRow:0 inSection:kMetadata];
202 205
            cell = [self.tableView cellForRowAtIndexPath:keyCellIndexPath];
203 206
            UITextField *textField = [[cell.contentView subviews] objectAtIndex:0];
204
            newMetadataKey = textField.text;
207
            self.userInputMetaKey = textField.text;
205 208
        
206
            if ([newMetadataKey length] == 0
207
                || [[newMetadataKey stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]] length] == 0) {
209
            if ([userInputMetaKey length] == 0
210
                || [[userInputMetaKey stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]] length] == 0) {
208 211
                [self.tableView deselectRowAtIndexPath:indexPath animated:YES];
209 212
                [self alert:@"Invalid input" message:@"Metadata key cannot be empty"];
210 213
                return;
......
213 216
            valueCellIndexPath = [NSIndexPath indexPathForRow:1 inSection:kMetadata];
214 217
            cell = [self.tableView cellForRowAtIndexPath:valueCellIndexPath];
215 218
            textField = [[cell.contentView subviews] objectAtIndex:0];
216
            newMetadataValue = textField.text;
217
            
219
            self.userInputMetaValue = textField.text;
218 220
            [object.metadata removeObjectForKey:metadataKey];
219
            [object.metadata setObject:newMetadataValue forKey:newMetadataKey];
221
            [object.metadata setObject:userInputMetaValue forKey:userInputMetaKey];
220 222
            
221 223
            if (objectIsFolder && ![PithosUtilities isContentTypeDirectory:object.contentType]) {
222 224
                if (((UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) &&
......
251 253

  
252 254
            [[self.account.manager writeObjectMetadata:container object:object] 
253 255
             success:^(OpenStackRequest *request) {
254
                 self.metadataKey = newMetadataKey;
255
                 self.metadataValue = newMetadataValue;
256
                 self.metadataKey = userInputMetaKey;
257
                 self.metadataValue = userInputMetaValue;
256 258
                 removeMetadataEnabled = YES;
257 259
                 [self.tableView reloadData];
258 260
                 [activityIndicatorView removeFromSuperviewAndRelease];
......
263 265
                 }
264 266
             }
265 267
             failure:^(OpenStackRequest *request) { 
266
                 [object.metadata removeObjectForKey:newMetadataKey];
268
                 [object.metadata removeObjectForKey:userInputMetaKey];
267 269
                 [object.metadata setObject:metadataValue forKey:metadataKey];
268 270
                 [activityIndicatorView removeFromSuperviewAndRelease];
269 271
                 [self.tableView deselectRowAtIndexPath:indexPath animated:YES];
......
358 360
         [folderViewController.folder.folders setObject:newFolder forKey:newFolder.name];
359 361
         [activityIndicatorView removeFromSuperviewAndRelease];
360 362
         [newFolder release];
361
         self.metadataKey = newMetadataKey;
362
         self.metadataValue = newMetadataValue;
363
         self.metadataKey = userInputMetaKey;
364
         self.metadataValue = userInputMetaValue;
363 365
         removeMetadataEnabled = YES;
364 366
         [self.tableView reloadData];
365 367
         [self.tableView deselectRowAtIndexPath:[self.tableView indexPathForSelectedRow] animated:YES];
......
372 374
         }
373 375
     }
374 376
     failure:^(OpenStackRequest *request) {
375
         [object.metadata removeObjectForKey:newMetadataKey];
377
         [object.metadata removeObjectForKey:userInputMetaKey];
376 378
         [object.metadata setObject:metadataValue forKey:metadataKey];
377 379
         [activityIndicatorView removeFromSuperviewAndRelease];
378 380
         [self.tableView deselectRowAtIndexPath:[self.tableView indexPathForSelectedRow] animated:YES];

Also available in: Unified diff