From 16a1da9e3eb7cc48c782e53142c4b94113239f1c Mon Sep 17 00:00:00 2001 From: stuconnolly Date: Mon, 8 Mar 2010 16:03:53 +0000 Subject: Various user manager improvements including a new outline view contextual menu. --- Interfaces/English.lproj/UserManagerView.xib | 405 ++++++++++++++++++--------- Source/SPUserMO.m | 4 +- Source/SPUserManager.h | 2 +- Source/SPUserManager.m | 23 +- 4 files changed, 285 insertions(+), 149 deletions(-) diff --git a/Interfaces/English.lproj/UserManagerView.xib b/Interfaces/English.lproj/UserManagerView.xib index 004453c6..feacf4b9 100644 --- a/Interfaces/English.lproj/UserManagerView.xib +++ b/Interfaces/English.lproj/UserManagerView.xib @@ -16,17 +16,18 @@ YES 740 - 1.2.5 + 1.2.2 YES - + + YES - com.apple.InterfaceBuilder.CocoaPlugin com.brandonwalkin.BWToolkit + com.apple.InterfaceBuilder.CocoaPlugin YES @@ -56,7 +57,7 @@ User Managment NSWindow - {1.79769e+308, 1.79769e+308} + {3.40282e+38, 3.40282e+38} {752, 506} @@ -148,7 +149,7 @@ controlBackgroundColor 3 - MC42NjY2NjY2NjY3AA + MC42NjY2NjY2ODY1AA @@ -375,8 +376,31 @@ _popUpItemAction: + + + YES + YES + + + 2147483647 + + + _popUpItemAction: + + + + + Refresh + + 2147483647 + + + _popUpItemAction: + + + 4 YES 1 YES @@ -384,30 +408,6 @@ 2 - - - 268 - {{92, -1}, {32, 24}} - - YES - - 67239424 - 134348800 - - - - -2033958657 - 163 - - NSImage - NSRefreshTemplate - - - - 200 - 25 - - {194, 23} @@ -429,7 +429,7 @@ 274 - {{28, 40}, {500, 460}} + {{13, 40}, {531, 460}} YES @@ -539,11 +539,11 @@ - {{1, 1}, {254, 76}} + {{1, 1}, {256, 76}} - {{112, 159}, {256, 92}} + {{127, 159}, {258, 92}} {0, 0} @@ -564,7 +564,7 @@ NO - {{10, 33}, {480, 414}} + {{10, 33}, {511, 414}} General @@ -573,7 +573,7 @@ Global Privileges - + 288 YES @@ -646,13 +646,13 @@ - {{252, 168}, {177, 74}} + {{267, 168}, {177, 74}} {0, 0} 67239424 0 - Replications + Replication @@ -923,7 +923,7 @@ - {{17, 10}, {233, 232}} + {{32, 10}, {233, 232}} {0, 0} @@ -946,7 +946,7 @@ 289 - {{318, 124}, {114, 32}} + {{333, 124}, {114, 32}} YES @@ -1198,7 +1198,7 @@ - {{17, 246}, {233, 134}} + {{32, 246}, {233, 134}} {0, 0} @@ -1221,7 +1221,7 @@ 289 - {{318, 92}, {114, 32}} + {{333, 92}, {114, 32}} YES @@ -1363,7 +1363,7 @@ - {{252, 246}, {177, 134}} + {{267, 246}, {177, 134}} {0, 0} @@ -1384,12 +1384,13 @@ NO - {{17, 11}, {446, 400}} + {{17, 11}, {477, 400}} NSView - {{10, 33}, {480, 414}} + {{10, 33}, {511, 414}} + Global Privileges @@ -1398,7 +1399,7 @@ Schema Privileges - + 256 YES @@ -1415,27 +1416,27 @@ 256 - {104, 363} + {130, 363} YES 256 - {104, 17} + {130, 17} -2147483392 - {{224, 0}, {16, 17}} + {{110, 0}, {12, 17}} YES Schemas - 101 + 127 40 1000 @@ -1451,9 +1452,9 @@ 337772096 - 2048 + 133120 Text Cell - + @@ -1467,7 +1468,7 @@ 2 - 17 + 14 -700448768 @@ -1478,7 +1479,7 @@ 0 - {{1, 17}, {104, 363}} + {{1, 17}, {130, 363}} @@ -1488,8 +1489,9 @@ -2147483392 - {{224, 17}, {15, 102}} + {{110, 17}, {11, 352}} + 256 _doScroller: 37 @@ -1498,9 +1500,9 @@ -2147483392 - {{1, 119}, {223, 15}} + {{1, 369}, {109, 11}} - 1 + 257 _doScroller: 0.57142859697341919 @@ -1512,7 +1514,7 @@ YES - {{1, 0}, {104, 17}} + {{1, 0}, {130, 17}} @@ -1521,7 +1523,7 @@ - {{17, 17}, {106, 381}} + {{17, 17}, {132, 381}} 562 @@ -1530,7 +1532,7 @@ - QSAAAEEgAABBmAAAQZgAAA + QSAAAEEgAABBgAAAQYAAAA @@ -1545,27 +1547,27 @@ 256 - {104, 363} + {130, 363} YES 256 - {104, 17} + {130, 17} -2147483392 - {{224, 0}, {16, 17}} + {{110, 0}, {12, 17}} YES Granted Privilege - 101 + 127 40 1000 @@ -1581,9 +1583,9 @@ 337772096 - 2048 + 133120 Text Cell - + @@ -1597,7 +1599,7 @@ 2 - 17 + 14 1581252608 @@ -1608,7 +1610,7 @@ 0 - {{1, 17}, {104, 363}} + {{1, 17}, {130, 363}} @@ -1618,21 +1620,22 @@ -2147483392 - {{224, 17}, {15, 102}} + {{110, 17}, {11, 352}} + 256 _doScroller: - 0.99725274725274726 + 0.99725276231765747 -2147483392 - {{1, 119}, {223, 15}} + {{1, 369}, {109, 11}} - 1 + 257 _doScroller: - 0.99047619047619051 + 0.99047619104385376 @@ -1641,7 +1644,7 @@ YES - {{1, 0}, {104, 17}} + {{1, 0}, {130, 17}} @@ -1650,7 +1653,7 @@ - {{160, 17}, {106, 381}} + {{157, 17}, {132, 381}} 562 @@ -1659,7 +1662,7 @@ - QSAAAEEgAABBmAAAQZgAAA + QSAAAEEgAABBgAAAQYAAAA @@ -1674,26 +1677,26 @@ 256 - {104, 363} + {130, 363} 256 - {104, 17} + {130, 17} -2147483392 - {{224, 0}, {16, 17}} + {{110, 0}, {12, 17}} YES Available Privilige - 101 + 127 40 1000 @@ -1709,9 +1712,9 @@ 874643008 - 2048 + 133120 Text Cell - + @@ -1725,7 +1728,7 @@ 2 - 17 + 14 1581252608 @@ -1736,7 +1739,7 @@ 0 - {{1, 17}, {104, 363}} + {{1, 17}, {130, 363}} @@ -1746,8 +1749,9 @@ -2147483392 - {{224, 17}, {15, 102}} + {{110, 17}, {11, 352}} + 256 _doScroller: 37 @@ -1756,9 +1760,9 @@ -2147483392 - {{1, 119}, {223, 15}} + {{1, 369}, {109, 11}} - 1 + 257 _doScroller: 0.57142859697341919 @@ -1770,7 +1774,7 @@ YES - {{1, 0}, {104, 17}} + {{1, 0}, {130, 17}} @@ -1779,7 +1783,7 @@ - {{357, 17}, {106, 381}} + {{362, 17}, {132, 381}} 562 @@ -1788,12 +1792,12 @@ - QSAAAEEgAABBmAAAQZgAAA + QSAAAEEgAABBgAAAQYAAAA 268 - {{288, 275}, {38, 29}} + {{306, 212}, {38, 29}} YES @@ -1821,7 +1825,7 @@ 268 - {{288, 217}, {38, 29}} + {{306, 173}, {38, 29}} YES @@ -1843,8 +1847,7 @@ - {{10, 33}, {480, 414}} - + {{10, 33}, {511, 414}} Schema Privileges @@ -1940,7 +1943,7 @@ NO - 116.89309692382812 + 116.89306640625 67239424 67108864 @@ -1998,7 +2001,7 @@ 1 - 116.89309692382812 + 116.89306640625 67239424 67108864 @@ -2055,7 +2058,7 @@ NO - 116.89309692382812 + 116.89306640625 67239424 67108864 @@ -2074,7 +2077,7 @@ 205521920 - 116.89309692382812 + 116.89306640625 67239424 67108864 @@ -2093,7 +2096,7 @@ - {{112, 144}, {256, 122}} + {{128, 144}, {256, 122}} {0, 0} @@ -2114,26 +2117,26 @@ NO - {{10, 33}, {480, 414}} + {{10, 33}, {511, 414}} Resources - + 0 YES YES - + 289 - {{445, 12}, {82, 32}} + {{449, 12}, {94, 32}} YES @@ -2154,7 +2157,7 @@ 289 - {{363, 12}, {82, 32}} + {{355, 12}, {94, 32}} YES @@ -2189,7 +2192,7 @@ {{0, 0}, {1680, 1028}} {752, 528} - {1.79769e+308, 1.79769e+308} + {3.40282e+38, 3.40282e+38} @@ -2354,6 +2357,46 @@ YES YES + + + + YES + + + Remove User + + 2147483647 + + + + + + Remove Host + + 2147483647 + + + + + + YES + YES + + + 2147483647 + + + + + + Refresh + + 2147483647 + + + + + @@ -3833,14 +3876,6 @@ 855 - - - refresh: - - - - 860 - value: arrangedObjects.displayName @@ -3973,6 +4008,66 @@ 893 + + + menu + + + + 902 + + + + refresh: + + + + 903 + + + + removeUser: + + + + 905 + + + + removeHost: + + + + 907 + + + + enabled: selection.parent + + + + + + enabled: selection.parent + enabled + selection.parent + + NSValueTransformerName + NSIsNil + + 2 + + + 913 + + + + delegate + + + + 914 + @@ -4103,7 +4198,6 @@ - @@ -4161,6 +4255,8 @@ + + @@ -4191,8 +4287,8 @@ YES - + @@ -4935,10 +5031,10 @@ YES - - - + + + @@ -5134,23 +5230,52 @@ AvailablePrivs - 858 - + 867 + + + + + 894 + YES - + + + + - + + Context Menu - 859 - - + 896 + + - 867 - - + 899 + + + + + 900 + + + + + 901 + + + + + 915 + + + + + 916 + + @@ -5320,8 +5445,14 @@ 786.IBPluginDependency 787.IBPluginDependency 788.IBPluginDependency - 858.IBPluginDependency - 859.IBPluginDependency + 894.IBEditorWindowLastContentRect + 894.IBPluginDependency + 896.IBPluginDependency + 899.IBPluginDependency + 900.IBPluginDependency + 901.IBPluginDependency + 915.IBPluginDependency + 916.IBPluginDependency YES @@ -5350,11 +5481,11 @@ com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin - {{59, 347}, {752, 506}} + {{461, 153}, {752, 506}} com.apple.InterfaceBuilder.CocoaPlugin - {{59, 347}, {752, 506}} + {{461, 153}, {752, 506}} {752, 506} @@ -5469,7 +5600,7 @@ com.brandonwalkin.BWToolkit com.brandonwalkin.BWToolkit com.brandonwalkin.BWToolkit - {{246, 177}, {130, 54}} + {{511, 95}, {130, 81}} com.brandonwalkin.BWToolkit com.brandonwalkin.BWToolkit com.brandonwalkin.BWToolkit @@ -5508,8 +5639,14 @@ com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin - com.brandonwalkin.BWToolkit - com.brandonwalkin.BWToolkit + {{841, 716}, {141, 73}} + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin @@ -5528,7 +5665,7 @@ - 893 + 916 diff --git a/Source/SPUserMO.m b/Source/SPUserMO.m index 5c5bd40e..a9e9ddbb 100644 --- a/Source/SPUserMO.m +++ b/Source/SPUserMO.m @@ -50,10 +50,7 @@ { [self setValue:value forKey:@"host"]; } - - } - } - (void)addChildrenObject:(NSManagedObject *)value @@ -78,4 +75,5 @@ [changedObjects release]; } + @end diff --git a/Source/SPUserManager.h b/Source/SPUserManager.h index 172fbdde..88f88ee6 100644 --- a/Source/SPUserManager.h +++ b/Source/SPUserManager.h @@ -97,6 +97,6 @@ - (BOOL)grantPrivilegesToUser:(NSManagedObject *)user; - (BOOL)grantDbPrivilegesWithPrivilege:(NSManagedObject *)user; - - (NSArray *)treeSortDescriptors; + @end diff --git a/Source/SPUserManager.m b/Source/SPUserManager.m index c9f41a21..317ca848 100644 --- a/Source/SPUserManager.m +++ b/Source/SPUserManager.m @@ -49,9 +49,6 @@ - (void)_setSchemaPrivValues:(NSArray *)objects enabled:(BOOL)enabled; - (void) _initializeAvailablePrivs; - - - @end @implementation SPUserManager @@ -65,7 +62,7 @@ @synthesize grantedSchemaPrivs; @synthesize availablePrivs; --(id)init +- (id)init { if ((self = [super initWithWindowNibName:@"UserManagerView"])) { @@ -82,11 +79,11 @@ @"Replication_client_priv", @"Repl_client_priv", nil]; } + schemas = [[NSMutableArray alloc] init]; availablePrivs = [[NSMutableArray alloc] init]; grantedSchemaPrivs = [[NSMutableArray alloc] init]; - return self; } @@ -247,7 +244,8 @@ [treeController rearrangeObjects]; } -- (void) _initializeAvailablePrivs { +- (void) _initializeAvailablePrivs +{ // Initialize available privileges NSManagedObjectContext *moc = self.managedObjectContext; NSEntityDescription *privEntityDescription = [NSEntityDescription entityForName:@"Privileges" @@ -525,12 +523,14 @@ } } + return YES; } - (NSArray *)treeSortDescriptors { NSSortDescriptor *descriptor = [[[NSSortDescriptor alloc] initWithKey:@"displayName" ascending:YES] autorelease]; + return [NSArray arrayWithObject:descriptor]; } @@ -787,7 +787,8 @@ { return ([[treeController selectedObjects] count] > 0); } - return TRUE; + + return YES; } - (void)_selectParentFromSelection @@ -996,7 +997,7 @@ if ([grantPrivileges count] > 0) { NSString *grantStatement = [NSString stringWithFormat:@"GRANT %@ ON %@.* TO %@@%@", - [grantPrivileges componentsJoinedByCommas], + [[grantPrivileges componentsJoinedByCommas] uppercaseString], dbName, [[schemaPriv valueForKeyPath:@"user.parent.user"] tickQuotedString], [[schemaPriv valueForKeyPath:@"user.host"] tickQuotedString]]; @@ -1009,7 +1010,7 @@ if ([revokePrivileges count] > 0) { NSString *revokeStatement = [NSString stringWithFormat:@"REVOKE %@ ON %@.* FROM %@@%@", - [revokePrivileges componentsJoinedByCommas], + [[revokePrivileges componentsJoinedByCommas] uppercaseString], dbName, [[schemaPriv valueForKeyPath:@"user.parent.user"] tickQuotedString], [[schemaPriv valueForKeyPath:@"user.host"] tickQuotedString]]; @@ -1051,7 +1052,7 @@ if ([grantPrivileges count] > 0) { NSString *grantStatement = [NSString stringWithFormat:@"GRANT %@ ON *.* TO %@@%@", - [grantPrivileges componentsJoinedByCommas], + [[grantPrivileges componentsJoinedByCommas] uppercaseString], [[[user parent] valueForKey:@"user"] tickQuotedString], [[user valueForKey:@"host"] tickQuotedString]]; DLog(@"%@", grantStatement); @@ -1063,7 +1064,7 @@ if ([revokePrivileges count] > 0) { NSString *revokeStatement = [NSString stringWithFormat:@"REVOKE %@ ON *.* FROM %@@%@", - [revokePrivileges componentsJoinedByCommas], + [[revokePrivileges componentsJoinedByCommas] uppercaseString], [[[user parent] valueForKey:@"user"] tickQuotedString], [[user valueForKey:@"host"] tickQuotedString]]; DLog(@"%@", revokeStatement); -- cgit v1.2.3