Browse Source

Copy role permission to another role/user
modified: TurboBird.lpi
modified: TurboBird.lpr
modified: TurboBird.res
modified: main.lfm
modified: main.lrs
modified: main.pas

Motaz Abdel Azeem 13 years ago
parent
commit
301a36b002
6 changed files with 117 additions and 102 deletions
  1. 37 35
      TurboBird.lpi
  2. 2 2
      TurboBird.lpr
  3. BIN
      TurboBird.res
  4. 8 3
      main.lfm
  5. 59 57
      main.lrs
  6. 11 5
      main.pas

+ 37 - 35
TurboBird.lpi

@@ -17,8 +17,8 @@
       <UseVersionInfo Value="True"/>
       <AutoIncrementBuild Value="True"/>
       <MinorVersionNr Value="9"/>
-      <RevisionNr Value="1"/>
-      <BuildNr Value="1071"/>
+      <RevisionNr Value="2"/>
+      <BuildNr Value="1072"/>
       <StringTable ProductVersion="0.9"/>
     </VersionInfo>
     <BuildModes Count="1">
@@ -60,11 +60,10 @@
         <Filename Value="TurboBird.lpr"/>
         <IsPartOfProject Value="True"/>
         <UnitName Value="TurboBird"/>
-        <IsVisibleTab Value="True"/>
-        <EditorIndex Value="8"/>
+        <EditorIndex Value="9"/>
         <WindowIndex Value="0"/>
-        <TopLine Value="1"/>
-        <CursorPos X="28" Y="27"/>
+        <TopLine Value="37"/>
+        <CursorPos X="42" Y="20"/>
         <UsageCount Value="200"/>
         <Loaded Value="True"/>
       </Unit0>
@@ -74,10 +73,11 @@
         <ComponentName Value="fmMain"/>
         <ResourceBaseClass Value="Form"/>
         <UnitName Value="main"/>
+        <IsVisibleTab Value="True"/>
         <EditorIndex Value="1"/>
         <WindowIndex Value="0"/>
-        <TopLine Value="2179"/>
-        <CursorPos X="1" Y="2184"/>
+        <TopLine Value="336"/>
+        <CursorPos X="1" Y="356"/>
         <UsageCount Value="200"/>
         <Loaded Value="True"/>
         <LoadedDesigner Value="True"/>
@@ -99,7 +99,7 @@
         <ComponentName Value="fmReg"/>
         <ResourceBaseClass Value="Form"/>
         <UnitName Value="Reg"/>
-        <EditorIndex Value="10"/>
+        <EditorIndex Value="11"/>
         <WindowIndex Value="0"/>
         <TopLine Value="1"/>
         <CursorPos X="22" Y="269"/>
@@ -120,7 +120,7 @@
         <ComponentName Value="fmQueryWindow"/>
         <ResourceBaseClass Value="Form"/>
         <UnitName Value="QueryWindow"/>
-        <EditorIndex Value="6"/>
+        <EditorIndex Value="7"/>
         <WindowIndex Value="0"/>
         <TopLine Value="155"/>
         <CursorPos X="3" Y="162"/>
@@ -168,7 +168,7 @@
         <ComponentName Value="fmViewTrigger"/>
         <ResourceBaseClass Value="Form"/>
         <UnitName Value="ViewTrigger"/>
-        <EditorIndex Value="5"/>
+        <EditorIndex Value="6"/>
         <WindowIndex Value="0"/>
         <TopLine Value="19"/>
         <CursorPos X="72" Y="27"/>
@@ -419,7 +419,7 @@
         <ComponentName Value="fmUDFInfo"/>
         <ResourceBaseClass Value="Form"/>
         <UnitName Value="UDFInfo"/>
-        <EditorIndex Value="2"/>
+        <EditorIndex Value="3"/>
         <WindowIndex Value="0"/>
         <TopLine Value="12"/>
         <CursorPos X="29" Y="29"/>
@@ -433,7 +433,7 @@
         <ComponentName Value="fmViewDomain"/>
         <ResourceBaseClass Value="Form"/>
         <UnitName Value="ViewDomain"/>
-        <EditorIndex Value="4"/>
+        <EditorIndex Value="5"/>
         <WindowIndex Value="0"/>
         <TopLine Value="12"/>
         <CursorPos X="24" Y="17"/>
@@ -544,10 +544,12 @@
         <Filename Value="scriptdb.pas"/>
         <IsPartOfProject Value="True"/>
         <UnitName Value="Scriptdb"/>
+        <EditorIndex Value="2"/>
         <WindowIndex Value="0"/>
-        <TopLine Value="144"/>
-        <CursorPos X="3" Y="179"/>
+        <TopLine Value="527"/>
+        <CursorPos X="3" Y="535"/>
         <UsageCount Value="194"/>
+        <Loaded Value="True"/>
       </Unit51>
       <Unit52>
         <Filename Value="connectas.pas"/>
@@ -564,7 +566,7 @@
         <ComponentName Value="fmUserPermissions"/>
         <ResourceBaseClass Value="Form"/>
         <UnitName Value="UserPermissions"/>
-        <EditorIndex Value="7"/>
+        <EditorIndex Value="8"/>
         <WindowIndex Value="0"/>
         <TopLine Value="6"/>
         <CursorPos X="8" Y="34"/>
@@ -637,7 +639,7 @@
       <Unit61>
         <Filename Value="unitfirebirdservices.pas"/>
         <UnitName Value="UnitFirebirdServices"/>
-        <EditorIndex Value="11"/>
+        <EditorIndex Value="12"/>
         <WindowIndex Value="0"/>
         <TopLine Value="1"/>
         <CursorPos X="1" Y="1"/>
@@ -947,7 +949,7 @@
         <ComponentName Value="fmDBInfo"/>
         <ResourceBaseClass Value="Form"/>
         <UnitName Value="dbInfo"/>
-        <EditorIndex Value="3"/>
+        <EditorIndex Value="4"/>
         <WindowIndex Value="0"/>
         <TopLine Value="20"/>
         <CursorPos X="22" Y="41"/>
@@ -973,7 +975,7 @@
       <Unit101>
         <Filename Value="../FreeSpider/spiderutils.pas"/>
         <UnitName Value="SpiderUtils"/>
-        <EditorIndex Value="9"/>
+        <EditorIndex Value="10"/>
         <WindowIndex Value="0"/>
         <TopLine Value="1"/>
         <CursorPos X="1" Y="1"/>
@@ -1008,7 +1010,7 @@
       </Position6>
       <Position7>
         <Filename Value="main.pas"/>
-        <Caret Line="2613" Column="36" TopLine="2606"/>
+        <Caret Line="2615" Column="36" TopLine="2608"/>
       </Position7>
       <Position8>
         <Filename Value="main.pas"/>
@@ -1016,7 +1018,7 @@
       </Position8>
       <Position9>
         <Filename Value="main.pas"/>
-        <Caret Line="2613" Column="36" TopLine="2606"/>
+        <Caret Line="2615" Column="36" TopLine="2608"/>
       </Position9>
       <Position10>
         <Filename Value="main.pas"/>
@@ -1032,7 +1034,7 @@
       </Position12>
       <Position13>
         <Filename Value="main.pas"/>
-        <Caret Line="2615" Column="36" TopLine="2608"/>
+        <Caret Line="2613" Column="36" TopLine="2606"/>
       </Position13>
       <Position14>
         <Filename Value="main.pas"/>
@@ -1040,7 +1042,7 @@
       </Position14>
       <Position15>
         <Filename Value="main.pas"/>
-        <Caret Line="2615" Column="36" TopLine="2608"/>
+        <Caret Line="2613" Column="36" TopLine="2606"/>
       </Position15>
       <Position16>
         <Filename Value="main.pas"/>
@@ -1056,7 +1058,7 @@
       </Position18>
       <Position19>
         <Filename Value="main.pas"/>
-        <Caret Line="2613" Column="36" TopLine="2606"/>
+        <Caret Line="2615" Column="36" TopLine="2608"/>
       </Position19>
       <Position20>
         <Filename Value="main.pas"/>
@@ -1064,7 +1066,7 @@
       </Position20>
       <Position21>
         <Filename Value="main.pas"/>
-        <Caret Line="2613" Column="36" TopLine="2606"/>
+        <Caret Line="2615" Column="36" TopLine="2608"/>
       </Position21>
       <Position22>
         <Filename Value="main.pas"/>
@@ -1072,35 +1074,35 @@
       </Position22>
       <Position23>
         <Filename Value="main.pas"/>
-        <Caret Line="2615" Column="36" TopLine="2608"/>
+        <Caret Line="2613" Column="36" TopLine="2606"/>
       </Position23>
       <Position24>
-        <Filename Value="main.pas"/>
-        <Caret Line="2614" Column="36" TopLine="2607"/>
+        <Filename Value="about.pas"/>
+        <Caret Line="19" Column="37" TopLine="9"/>
       </Position24>
       <Position25>
         <Filename Value="main.pas"/>
-        <Caret Line="2615" Column="36" TopLine="2608"/>
+        <Caret Line="2609" Column="19" TopLine="2606"/>
       </Position25>
       <Position26>
         <Filename Value="main.pas"/>
-        <Caret Line="2614" Column="36" TopLine="2607"/>
+        <Caret Line="1" Column="1" TopLine="1"/>
       </Position26>
       <Position27>
         <Filename Value="main.pas"/>
-        <Caret Line="2613" Column="36" TopLine="2606"/>
+        <Caret Line="2184" Column="1" TopLine="2179"/>
       </Position27>
       <Position28>
-        <Filename Value="about.pas"/>
-        <Caret Line="19" Column="37" TopLine="9"/>
+        <Filename Value="main.pas"/>
+        <Caret Line="346" Column="39" TopLine="334"/>
       </Position28>
       <Position29>
         <Filename Value="main.pas"/>
-        <Caret Line="2609" Column="19" TopLine="2606"/>
+        <Caret Line="351" Column="1" TopLine="334"/>
       </Position29>
       <Position30>
         <Filename Value="main.pas"/>
-        <Caret Line="1" Column="1" TopLine="1"/>
+        <Caret Line="358" Column="1" TopLine="341"/>
       </Position30>
     </JumpHistory>
   </ProjectOptions>

+ 2 - 2
TurboBird.lpr

@@ -2,7 +2,7 @@
 {  TurboBird: FireBird database administration and management tool          }
 {  Developed by: Motaz Abdel Azeem http://code.sd/                          }
 {  Start development:  5.Dec.2009                                           }
-{  Last updated     :  2.Apr.2012                                           }
+{  Last updated     : 15.Apr.2012                                           }
 {  License          : GPL for GUI, LGPL for Units                           }
 {***************************************************************************}
 
@@ -23,7 +23,7 @@ uses
   PermissionManage, SQLHistory, CopyTable, dynlibs, ibase60dyn, dbInfo, sysutils;
 
 const
-  Version = '0.9.1';
+  Version = '0.9.2';
   VersionDate = '2010 - Apr 2012';
 {$IFDEF Unix}
 {$DEFINE extdecl:=cdecl}

BIN
TurboBird.res


+ 8 - 3
main.lfm

@@ -1798,6 +1798,11 @@ object fmMain: TfmMain
       }
       OnClick = lmRolePerManagementClick
     end
+    object lmCopyRolePermission: TMenuItem
+      Tag = 9
+      Caption = 'Copy Role permission to'
+      OnClick = lmCopyRolePermissionClick
+    end
     object lmNewException: TMenuItem
       Tag = 20
       Caption = 'Add New Exception'
@@ -1861,10 +1866,10 @@ object fmMain: TfmMain
       }
       OnClick = lmUserPermManagementClick
     end
-    object lmCopyPermission: TMenuItem
+    object lmCopyUserPermission: TMenuItem
       Tag = 111
-      Caption = 'Copy Permission To'
-      OnClick = lmCopyPermissionClick
+      Caption = 'Copy User Permission To'
+      OnClick = lmCopyUserPermissionClick
     end
     object lmEditField: TMenuItem
       Tag = 112

+ 59 - 57
main.lrs

@@ -2274,61 +2274,63 @@ LazarusResources.Add('TfmMain','FORMDATA',[
   +#251#247#255#255#252#249#250#246#255#255#252#255#255#252#253#254#250#255#255
   +#252#254#255#251#255#255#252#252#253#249#255#255#252#252#253#249#255#255#252
   +#247#248#244#255#255#252#253#254#250#254#255#251#255#255#252#255#255#252#251
-  +#252#248#7'OnClick'#7#24'lmRolePerManagementClick'#0#0#9'TMenuItem'#14'lmNew'
-  +'Exception'#3'Tag'#2#20#7'Caption'#6#17'Add New Exception'#7'OnClick'#7#19'l'
-  +'mNewExceptionClick'#0#0#9'TMenuItem'#17'lmScriptException'#3'Tag'#2#10#7'Ca'
-  +'ption'#6#6'Script'#7'OnClick'#7#22'lmScriptExceptionClick'#0#0#9'TMenuItem'
-  +#15'lmDropException'#3'Tag'#2#10#7'Caption'#6#4'Drop'#7'OnClick'#7#20'lmDrop'
-  +'ExceptionClick'#0#0#9'TMenuItem'#9'lmAddUser'#3'Tag'#2#21#7'Caption'#6#15'C'
-  +'reate New User'#7'OnClick'#7#14'lmAddUserClick'#0#0#9'TMenuItem'#16'lmChang'
-  +'ePassword'#3'Tag'#2'o'#7'Caption'#6#15'Change password'#7'OnClick'#7#21'lmC'
-  +'hangePasswordClick'#0#0#9'TMenuItem'#13'lmPermissions'#3'Tag'#2'o'#7'Captio'
-  +'n'#6#16'Show Permissions'#7'OnClick'#7#18'lmPermissionsClick'#0#0#9'TMenuIt'
-  +'em'#20'lmUserPermManagement'#3'Tag'#2'o'#7'Caption'#6#21'Permission Managem'
-  +'ent'#11'Bitmap.Data'#10':'#3#0#0'6'#3#0#0'BM6'#3#0#0#0#0#0#0'6'#0#0#0'('#0#0
-  +#0#16#0#0#0#16#0#0#0#1#0#24#0#0#0#0#0#0#3#0#0'd'#0#0#0'd'#0#0#0#0#0#0#0#0#0#0
-  +#0#252#253#249#255#255#252#255#255#252#252#253#249#255#255#252#252#253#249
-  +#255#255#252#251#252#248#255#255#252#247#248#244#255#255#252#255#255#252#254
-  +#255#251#255#255#252#253#254#250#255#255#252#255#255#252#255#255#252#242#243
-  +#239#255#255#252#255#255#252#250#251#247#250#251#247#255#255#252#255#255#252
-  +#250#251#247#255#255#252#249#250#246#247#248#244#250#251#247#255#255#252#253
-  +#254#250#251#253#247#255#255#251#253#255#249#254#255#250#252#254#248#255#255
-  +#251#255#255#251#249#251#245#253#255#249#255#255#251#254#255#250#255#255#251
-  +#255#255#251#255#255#251#253#255#249#255#255#251'xztwys'#135#137#131'~'#128
-  +'zkmg'#131#133#127'oqkxzt{}w'#130#132'~uwqprl{}wvxrz|vvxr~'#129'x'#250#253
-  +#244#246#249#240#245#248#239#255#255#249#245#248#239#255#255#249#252#255#246
-  +#248#251#242#247#250#241#255#255#249#245#248#239#255#255#249#255#255#249#246
-  +#249#240'~'#129'xwzq'#254#255#248#255#255#249'TWNMPG'#250#253#244'ORIBE<'#255
-  +#255#249#252#255#246#255#255#249#255#255#249#239#242#233#255#255#249#255#255
-  +#249'psjvyp'#255#255#249#247#250#241#255#255#249#255#255#249#255#255#249#248
-  +#251#242#255#255#249#248#251#242#254#255#248#252#255#246#255#255#249#255#255
-  +#249#255#255#249#249#252#243#128#131'z{~u'#249#252#243'MPG'#254#255#248'FI@J'
-  +'MDNQHFI@KNEQTKKNEDG>'#255#255#249#255#255#249#255#255#249'twn'#128#131'z'
-  +#249#252#243#255#255#249#255#255#249#255#255#249#252#255#246#255#255#249#251
-  ,#254#245#254#255#248#247#250#241#255#255#249#248#251#242#255#255#249#254#255
-  +#248#246#249#240'{~uuxo'#255#255#249'EH?'#246#249#240'PSJJMDFI@QTKGJAUXO@C:R'
-  +'UL'#247#250#241#253#255#247#255#255#249'vypwzq'#255#255#249#255#255#249#255
-  +#255#249#255#255#249#252#255#246#250#253#244#251#254#245#255#255#249#255#255
-  +#249#249#252#243#254#255#248#255#255#249#249#252#243#252#255#246'twn}'#128'w'
-  +#251#254#245#252#255#246#247#250#241#255#255#249#255#255#249#255#255#249#255
-  +#255#249#252#255#246#255#255#249#255#255#249#255#255#249#249#252#243#255#255
-  +#249'~'#129'xz}t|~xnpj{}w'#128#130'|qsmwysvxrz|v'#128#130'|}'#127'yjlf'#128
-  +#130'|vxrqsmuwquwq'#255#255#251#246#248#242#255#255#251#254#255#250#253#255
-  +#249#255#255#251#255#255#251#249#251#245#255#255#251#247#249#243#253#255#249
-  +#252#254#248#255#255#251#255#255#251#253#255#249#255#255#251#248#249#245#255
-  +#255#252#255#255#252#249#250#246#255#255#252#255#255#252#247#248#244#255#255
-  +#252#250#251#247#255#255#252#255#255#252#254#255#251#250#251#247#255#255#252
-  +#249#250#246#255#255#252#255#255#252#253#254#250#255#255#252#254#255#251#255
-  +#255#252#252#253#249#255#255#252#252#253#249#255#255#252#247#248#244#255#255
-  +#252#253#254#250#254#255#251#255#255#252#255#255#252#251#252#248#7'OnClick'#7
-  +#25'lmUserPermManagementClick'#0#0#9'TMenuItem'#16'lmCopyPermission'#3'Tag'#2
-  +'o'#7'Caption'#6#18'Copy Permission To'#7'OnClick'#7#21'lmCopyPermissionClic'
-  +'k'#0#0#9'TMenuItem'#11'lmEditField'#3'Tag'#2'p'#7'Caption'#6#10'Edit Field'
-  +#7'OnClick'#7#16'lmEditFieldClick'#0#0#0#11'TMemDataset'#10'mdsHistory'#9'Fi'
-  +'eldDefs'#14#1#4'Name'#6#4'Time'#8'DataType'#7#10'ftDateTime'#9'Precision'#2
-  +#0#4'Size'#2#0#0#1#4'Name'#6#7'SQLType'#8'DataType'#7#8'ftString'#9'Precisio'
-  +'n'#2#0#4'Size'#2#6#0#1#4'Name'#6#12'SQLStatement'#8'DataType'#7#8'ftString'
-  +#9'Precision'#2#0#4'Size'#3#0#16#0#1#4'Name'#6#8'Reserved'#8'DataType'#7#9'f'
-  +'tInteger'#9'Precision'#2#0#4'Size'#2#0#0#0#4'left'#3#183#0#3'top'#3'j'#1#0#0
-  +#0
+  +#252#248#7'OnClick'#7#24'lmRolePerManagementClick'#0#0#9'TMenuItem'#20'lmCop'
+  +'yRolePermission'#3'Tag'#2#9#7'Caption'#6#23'Copy Role permission to'#7'OnCl'
+  +'ick'#7#25'lmCopyRolePermissionClick'#0#0#9'TMenuItem'#14'lmNewException'#3
+  +'Tag'#2#20#7'Caption'#6#17'Add New Exception'#7'OnClick'#7#19'lmNewException'
+  +'Click'#0#0#9'TMenuItem'#17'lmScriptException'#3'Tag'#2#10#7'Caption'#6#6'Sc'
+  +'ript'#7'OnClick'#7#22'lmScriptExceptionClick'#0#0#9'TMenuItem'#15'lmDropExc'
+  +'eption'#3'Tag'#2#10#7'Caption'#6#4'Drop'#7'OnClick'#7#20'lmDropExceptionCli'
+  +'ck'#0#0#9'TMenuItem'#9'lmAddUser'#3'Tag'#2#21#7'Caption'#6#15'Create New Us'
+  +'er'#7'OnClick'#7#14'lmAddUserClick'#0#0#9'TMenuItem'#16'lmChangePassword'#3
+  +'Tag'#2'o'#7'Caption'#6#15'Change password'#7'OnClick'#7#21'lmChangePassword'
+  +'Click'#0#0#9'TMenuItem'#13'lmPermissions'#3'Tag'#2'o'#7'Caption'#6#16'Show '
+  +'Permissions'#7'OnClick'#7#18'lmPermissionsClick'#0#0#9'TMenuItem'#20'lmUser'
+  +'PermManagement'#3'Tag'#2'o'#7'Caption'#6#21'Permission Management'#11'Bitma'
+  +'p.Data'#10':'#3#0#0'6'#3#0#0'BM6'#3#0#0#0#0#0#0'6'#0#0#0'('#0#0#0#16#0#0#0
+  +#16#0#0#0#1#0#24#0#0#0#0#0#0#3#0#0'd'#0#0#0'd'#0#0#0#0#0#0#0#0#0#0#0#252#253
+  +#249#255#255#252#255#255#252#252#253#249#255#255#252#252#253#249#255#255#252
+  +#251#252#248#255#255#252#247#248#244#255#255#252#255#255#252#254#255#251#255
+  +#255#252#253#254#250#255#255#252#255#255#252#255#255#252#242#243#239#255#255
+  +#252#255#255#252#250#251#247#250#251#247#255#255#252#255#255#252#250#251#247
+  +#255#255#252#249#250#246#247#248#244#250#251#247#255#255#252#253#254#250#251
+  +#253#247#255#255#251#253#255#249#254#255#250#252#254#248#255#255#251#255#255
+  +#251#249#251#245#253#255#249#255#255#251#254#255#250#255#255#251#255#255#251
+  +#255#255#251#253#255#249#255#255#251'xztwys'#135#137#131'~'#128'zkmg'#131#133
+  +#127'oqkxzt{}w'#130#132'~uwqprl{}wvxrz|vvxr~'#129'x'#250#253#244#246#249#240
+  +#245#248#239#255#255#249#245#248#239#255#255#249#252#255#246#248#251#242#247
+  +#250#241#255#255#249#245#248#239#255#255#249#255#255#249#246#249#240'~'#129
+  +'xwzq'#254#255#248#255#255#249'TWNMPG'#250#253#244'ORIBE<'#255#255#249#252
+  +#255#246#255#255#249#255#255#249#239#242#233#255#255#249#255#255#249'psjvyp'
+  +#255#255#249#247#250#241#255#255#249#255#255#249#255#255#249#248#251#242#255
+  +#255#249#248#251#242#254#255#248#252#255#246#255#255#249#255#255#249#255#255
+  +#249#249#252#243#128#131'z{~u'#249#252#243'MPG'#254#255#248'FI@JMDNQHFI@KNEQ'
+  ,'TKKNEDG>'#255#255#249#255#255#249#255#255#249'twn'#128#131'z'#249#252#243
+  +#255#255#249#255#255#249#255#255#249#252#255#246#255#255#249#251#254#245#254
+  +#255#248#247#250#241#255#255#249#248#251#242#255#255#249#254#255#248#246#249
+  +#240'{~uuxo'#255#255#249'EH?'#246#249#240'PSJJMDFI@QTKGJAUXO@C:RUL'#247#250
+  +#241#253#255#247#255#255#249'vypwzq'#255#255#249#255#255#249#255#255#249#255
+  +#255#249#252#255#246#250#253#244#251#254#245#255#255#249#255#255#249#249#252
+  +#243#254#255#248#255#255#249#249#252#243#252#255#246'twn}'#128'w'#251#254#245
+  +#252#255#246#247#250#241#255#255#249#255#255#249#255#255#249#255#255#249#252
+  +#255#246#255#255#249#255#255#249#255#255#249#249#252#243#255#255#249'~'#129
+  +'xz}t|~xnpj{}w'#128#130'|qsmwysvxrz|v'#128#130'|}'#127'yjlf'#128#130'|vxrqsm'
+  +'uwquwq'#255#255#251#246#248#242#255#255#251#254#255#250#253#255#249#255#255
+  +#251#255#255#251#249#251#245#255#255#251#247#249#243#253#255#249#252#254#248
+  +#255#255#251#255#255#251#253#255#249#255#255#251#248#249#245#255#255#252#255
+  +#255#252#249#250#246#255#255#252#255#255#252#247#248#244#255#255#252#250#251
+  +#247#255#255#252#255#255#252#254#255#251#250#251#247#255#255#252#249#250#246
+  +#255#255#252#255#255#252#253#254#250#255#255#252#254#255#251#255#255#252#252
+  +#253#249#255#255#252#252#253#249#255#255#252#247#248#244#255#255#252#253#254
+  +#250#254#255#251#255#255#252#255#255#252#251#252#248#7'OnClick'#7#25'lmUserP'
+  +'ermManagementClick'#0#0#9'TMenuItem'#20'lmCopyUserPermission'#3'Tag'#2'o'#7
+  +'Caption'#6#23'Copy User Permission To'#7'OnClick'#7#25'lmCopyUserPermission'
+  +'Click'#0#0#9'TMenuItem'#11'lmEditField'#3'Tag'#2'p'#7'Caption'#6#10'Edit Fi'
+  +'eld'#7'OnClick'#7#16'lmEditFieldClick'#0#0#0#11'TMemDataset'#10'mdsHistory'
+  +#9'FieldDefs'#14#1#4'Name'#6#4'Time'#8'DataType'#7#10'ftDateTime'#9'Precisio'
+  +'n'#2#0#4'Size'#2#0#0#1#4'Name'#6#7'SQLType'#8'DataType'#7#8'ftString'#9'Pre'
+  +'cision'#2#0#4'Size'#2#6#0#1#4'Name'#6#12'SQLStatement'#8'DataType'#7#8'ftSt'
+  +'ring'#9'Precision'#2#0#4'Size'#3#0#16#0#1#4'Name'#6#8'Reserved'#8'DataType'
+  +#7#9'ftInteger'#9'Precision'#2#0#4'Size'#2#0#0#0#4'left'#3#183#0#3'top'#3'j'
+  +#1#0#0#0
 ]);

+ 11 - 5
main.pas

@@ -42,10 +42,11 @@ type
     lmSetGen: TMenuItem;
     lmDisconnect: TMenuItem;
     lmCopyTable: TMenuItem;
-    lmCopyPermission: TMenuItem;
+    lmCopyUserPermission: TMenuItem;
     lmViewFields: TMenuItem;
     lmEditField: TMenuItem;
     lmDBIndo: TMenuItem;
+    lmCopyRolePermission: TMenuItem;
     mnExit: TMenuItem;
     mnCreateDB: TMenuItem;
     mnRegDB: TMenuItem;
@@ -108,7 +109,8 @@ type
     procedure lmBackupClick(Sender: TObject);
     procedure lmChangePasswordClick(Sender: TObject);
     procedure lmCloseTabClick(Sender: TObject);
-    procedure lmCopyPermissionClick(Sender: TObject);
+    procedure lmCopyRolePermissionClick(Sender: TObject);
+    procedure lmCopyUserPermissionClick(Sender: TObject);
     procedure lmCopyTableClick(Sender: TObject);
     procedure lmCreateDBClick(Sender: TObject);
     procedure lmDBIndoClick(Sender: TObject);
@@ -331,14 +333,19 @@ procedure TfmMain.lmCloseTabClick(Sender: TObject);
 begin
 end;
 
-procedure TfmMain.lmCopyPermissionClick(Sender: TObject);
+procedure TfmMain.lmCopyRolePermissionClick(Sender: TObject);
+begin
+  lmCopyUserPermissionClick(nil);
+end;
+
+procedure TfmMain.lmCopyUserPermissionClick(Sender: TObject);
 var
   List: TStringList;
   dbIndex: Integer;
   UserName: string;
   NewUser: string;
 begin
-  if InputQuery('Permission', 'Please type a user name to copy perissions to', NewUser) then
+  if InputQuery('Permission', 'Please type a User/Role name to copy perissions to', NewUser) then
   begin
     UserName:= tvMain.Selected.Text;
     dbIndex:= tvMain.Selected.Parent.Parent.OverlayIndex;
@@ -346,7 +353,6 @@ begin
     Scriptdb.ScriptUserAllPermissions(dbIndex, UserName, List, NewUser);
     ShowCompleteQueryWindow(dbIndex, 'Script permissions for : ' + UserName, List.Text);
     List.Free;
-
   end;
 end;