VirtualBox

Ignore:
Timestamp:
Jun 2, 2016 10:47:32 PM (9 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
107739
Message:

wuimain.py,wuiadmin.py: Cleanup / load optimization.

Location:
trunk/src/VBox/ValidationKit/testmanager/webui
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/ValidationKit/testmanager/webui/wuiadmin.py

    r61240 r61422  
    3737from common                                    import webutils
    3838from testmanager                               import config;
    39 from testmanager.core.buildsource              import BuildSourceLogic, BuildSourceData
    40 from testmanager.core.build                    import BuildCategoryLogic, BuildCategoryData, BuildLogic, BuildData;
    41 from testmanager.core.globalresource           import GlobalResourceLogic, GlobalResourceData
    42 from testmanager.core.schedulerbase            import SchedulerBase
    43 from testmanager.core.schedgroup               import SchedGroupLogic, SchedGroupData, SchedGroupDataEx
    44 from testmanager.core.systemlog                import SystemLogLogic
    45 from testmanager.core.testbox                  import TestBoxData, TestBoxLogic
    46 from testmanager.core.testcase                 import TestCaseLogic, TestCaseData, TestCaseDataEx
    47 from testmanager.core.useraccount              import UserAccountLogic, UserAccountData
    48 from testmanager.core.testgroup                import TestGroupLogic, TestGroupDataEx;
    49 from testmanager.core.failurecategory          import FailureCategoryLogic, FailureCategoryData
    50 from testmanager.core.failurereason            import FailureReasonLogic, FailureReasonData
    51 from testmanager.core.buildblacklist           import BuildBlacklistLogic, BuildBlacklistData
    5239from testmanager.webui.wuibase                 import WuiDispatcherBase, WuiException
    53 from testmanager.webui.wuiadminbuild           import WuiAdminBuild, WuiAdminBuildList
    54 from testmanager.webui.wuiadminsystemlog       import WuiAdminSystemLogList
    55 from testmanager.webui.wuiadminbuildsource     import WuiAdminBuildSrc, WuiAdminBuildSrcList;
    56 from testmanager.webui.wuiadminbuildcategory   import WuiAdminBuildCat, WuiAdminBuildCatList;
    57 from testmanager.webui.wuiadminglobalrsrc      import WuiGlobalResource, WuiGlobalResourceList
    58 from testmanager.webui.wuiadmintestbox         import WuiTestBoxList, WuiTestBox
    59 from testmanager.webui.wuiadmintestcase        import WuiTestCase, WuiTestCaseList
    60 from testmanager.webui.wuiadminuseraccount     import WuiUserAccountList, WuiUserAccount
    61 from testmanager.webui.wuiadmintestgroup       import WuiTestGroup, WuiTestGroupList;
    62 from testmanager.webui.wuiadminschedgroup      import WuiSchedGroup, WuiAdminSchedGroupList;
    63 from testmanager.webui.wuiadminbuildblacklist  import WuiAdminBuildBlacklist, WuiAdminListOfBlacklistItems
    64 from testmanager.webui.wuiadminfailurecategory import WuiFailureCategory, WuiFailureCategoryList
    65 from testmanager.webui.wuiadminfailurereason   import WuiAdminFailureReason, WuiAdminFailureReasonList
    6640
    6741
     
    182156    ## @}
    183157
    184     def __init__(self, oSrvGlue):
     158    def __init__(self, oSrvGlue): # pylint: disable=too-many-locals,too-many-statements
    185159        WuiDispatcherBase.__init__(self, oSrvGlue, self.ksScriptName);
    186 
    187160        self._sTemplate     = 'template.html';
    188161
    189         # Use short form to avoid hitting the right margin (130) when using lambda.
    190         d = self._dDispatch;  # pylint: disable=C0103
    191162
    192163        #
    193164        # System Log actions.
    194165        #
    195         d[self.ksActionSystemLogList]           = lambda: self._actionGenericListing(SystemLogLogic, WuiAdminSystemLogList)
     166        self._dDispatch[self.ksActionSystemLogList]             = self._actionSystemLogList;
    196167
    197168        #
    198169        # User Account actions.
    199170        #
    200         d[self.ksActionUserList]                = lambda: self._actionGenericListing(UserAccountLogic, WuiUserAccountList)
    201         d[self.ksActionUserAdd]                 = lambda: self._actionGenericFormAdd(UserAccountData, WuiUserAccount)
    202         d[self.ksActionUserEdit]                = lambda: self._actionGenericFormEdit(UserAccountData, WuiUserAccount,
    203                                                                                       UserAccountData.ksParam_uid);
    204         d[self.ksActionUserAddPost]             = lambda: self._actionGenericFormAddPost(UserAccountData, UserAccountLogic,
    205                                                                                          WuiUserAccount, self.ksActionUserList)
    206         d[self.ksActionUserEditPost]            = lambda: self._actionGenericFormEditPost(UserAccountData, UserAccountLogic,
    207                                                                                           WuiUserAccount, self.ksActionUserList)
    208         d[self.ksActionUserDelPost]             = lambda: self._actionGenericDoRemove(UserAccountLogic,
    209                                                                                       UserAccountData.ksParam_uid,
    210                                                                                       self.ksActionUserList)
     171        self._dDispatch[self.ksActionUserList]                  = self._actionUserList;
     172        self._dDispatch[self.ksActionUserAdd]                   = self._actionUserAdd;
     173        self._dDispatch[self.ksActionUserEdit]                  = self._actionUserEdit;
     174        self._dDispatch[self.ksActionUserAddPost]               = self._actionUserAddPost;
     175        self._dDispatch[self.ksActionUserEditPost]              = self._actionUserEditPost;
     176        self._dDispatch[self.ksActionUserDelPost]               = self._actionUserDelPost;
    211177
    212178        #
    213179        # TestBox actions.
    214180        #
    215         d[self.ksActionTestBoxList]             = lambda: self._actionGenericListing(TestBoxLogic, WuiTestBoxList);
    216         d[self.ksActionTestBoxListPost]         = self._actionTestBoxListPost;
    217         d[self.ksActionTestBoxAdd]              = lambda: self._actionGenericFormAdd(TestBoxData, WuiTestBox);
    218         d[self.ksActionTestBoxAddPost]          = lambda: self._actionGenericFormAddPost(TestBoxData, TestBoxLogic,
    219                                                                                          WuiTestBox, self.ksActionTestBoxList);
    220         d[self.ksActionTestBoxDetails]          = lambda: self._actionGenericFormDetails(TestBoxData, TestBoxLogic, WuiTestBox,
    221                                                                                          'idTestBox', 'idGenTestBox');
    222         d[self.ksActionTestBoxEdit]             = lambda: self._actionGenericFormEdit(TestBoxData, WuiTestBox,
    223                                                                                       TestBoxData.ksParam_idTestBox);
    224         d[self.ksActionTestBoxEditPost]         = lambda: self._actionGenericFormEditPost(TestBoxData, TestBoxLogic,
    225                                                                                           WuiTestBox, self.ksActionTestBoxList);
    226         d[self.ksActionTestBoxRemovePost]       = lambda: self._actionGenericDoRemove(TestBoxLogic,
    227                                                                                       TestBoxData.ksParam_idTestBox,
    228                                                                                       self.ksActionTestBoxList)
    229         d[self.ksActionTestBoxesRegenQueues]    = self._actionRegenQueuesCommon;
     181        self._dDispatch[self.ksActionTestBoxList]               = self._actionTestBoxList;
     182        self._dDispatch[self.ksActionTestBoxListPost]           = self._actionTestBoxListPost;
     183        self._dDispatch[self.ksActionTestBoxAdd]                = self._actionTestBoxAdd;
     184        self._dDispatch[self.ksActionTestBoxAddPost]            = self._actionTestBoxAddPost;
     185        self._dDispatch[self.ksActionTestBoxDetails]            = self._actionTestBoxDetails;
     186        self._dDispatch[self.ksActionTestBoxEdit]               = self._actionTestBoxEdit;
     187        self._dDispatch[self.ksActionTestBoxEditPost]           = self._actionTestBoxEditPost;
     188        self._dDispatch[self.ksActionTestBoxRemovePost]         = self._actionTestBoxRemovePost;
     189        self._dDispatch[self.ksActionTestBoxesRegenQueues]      = self._actionRegenQueuesCommon;
    230190
    231191        #
    232192        # Test Case actions.
    233193        #
    234         d[self.ksActionTestCaseList]            = lambda: self._actionGenericListing(TestCaseLogic, WuiTestCaseList);
    235         d[self.ksActionTestCaseAdd]             = lambda: self._actionGenericFormAdd(TestCaseDataEx, WuiTestCase);
    236         d[self.ksActionTestCaseAddPost]         = lambda: self._actionGenericFormAddPost(TestCaseDataEx, TestCaseLogic,
    237                                                                                          WuiTestCase, self.ksActionTestCaseList);
    238         d[self.ksActionTestCaseClone]           = lambda: self._actionGenericFormClone(  TestCaseDataEx, WuiTestCase,
    239                                                                                          'idTestCase', 'idGenTestCase');
    240         d[self.ksActionTestCaseDetails]         = lambda: self._actionGenericFormDetails(TestCaseDataEx, TestCaseLogic,
    241                                                                                          WuiTestCase, 'idTestCase',
    242                                                                                          'idGenTestCase');
    243         d[self.ksActionTestCaseEdit]            = lambda: self._actionGenericFormEdit(TestCaseDataEx, WuiTestCase,
    244                                                                                       TestCaseDataEx.ksParam_idTestCase);
    245         d[self.ksActionTestCaseEditPost]        = lambda: self._actionGenericFormEditPost(TestCaseDataEx, TestCaseLogic,
    246                                                                                           WuiTestCase, self.ksActionTestCaseList);
    247         d[self.ksActionTestCaseDoRemove]        = lambda: self._actionGenericDoRemove(TestCaseLogic,
    248                                                                                       TestCaseData.ksParam_idTestCase,
    249                                                                                       self.ksActionTestCaseList);
     194        self._dDispatch[self.ksActionTestCaseList]              = self._actionTestCaseList;
     195        self._dDispatch[self.ksActionTestCaseAdd]               = self._actionTestCaseAdd;
     196        self._dDispatch[self.ksActionTestCaseAddPost]           = self._actionTestCaseAddPost;
     197        self._dDispatch[self.ksActionTestCaseClone]             = self._actionTestCaseClone;
     198        self._dDispatch[self.ksActionTestCaseDetails]           = self._actionTestCaseDetails;
     199        self._dDispatch[self.ksActionTestCaseEdit]              = self._actionTestCaseEdit;
     200        self._dDispatch[self.ksActionTestCaseEditPost]          = self._actionTestCaseEditPost;
     201        self._dDispatch[self.ksActionTestCaseDoRemove]          = self._actionTestCaseDoRemove;
    250202
    251203        #
    252204        # Global Resource actions
    253205        #
    254         d[self.ksActionGlobalRsrcShowAll]       = lambda: self._actionGenericListing(GlobalResourceLogic, WuiGlobalResourceList)
    255         d[self.ksActionGlobalRsrcShowAdd]       = lambda: self._actionGlobalRsrcShowAddEdit(WuiAdmin.ksActionGlobalRsrcAdd)
    256         d[self.ksActionGlobalRsrcShowEdit]      = lambda: self._actionGlobalRsrcShowAddEdit(WuiAdmin.ksActionGlobalRsrcEdit)
    257         d[self.ksActionGlobalRsrcAdd]           = lambda: self._actionGlobalRsrcAddEdit(WuiAdmin.ksActionGlobalRsrcAdd)
    258         d[self.ksActionGlobalRsrcEdit]          = lambda: self._actionGlobalRsrcAddEdit(WuiAdmin.ksActionGlobalRsrcEdit)
    259         d[self.ksActionGlobalRsrcDel]           = lambda: self._actionGenericDoDelOld(GlobalResourceLogic,
    260                                                                                       GlobalResourceData.ksParam_idGlobalRsrc,
    261                                                                                       self.ksActionGlobalRsrcShowAll)
     206        self._dDispatch[self.ksActionGlobalRsrcShowAll]         = self._actionGlobalRsrcShowAll;
     207        self._dDispatch[self.ksActionGlobalRsrcShowAdd]         = self._actionGlobalRsrcShowAdd;
     208        self._dDispatch[self.ksActionGlobalRsrcShowEdit]        = self._actionGlobalRsrcShowEdit;
     209        self._dDispatch[self.ksActionGlobalRsrcAdd]             = self._actionGlobalRsrcAdd;
     210        self._dDispatch[self.ksActionGlobalRsrcEdit]            = self._actionGlobalRsrcEdit;
     211        self._dDispatch[self.ksActionGlobalRsrcDel]             = self._actionGlobalRsrcDel;
    262212
    263213        #
    264214        # Build Source actions
    265215        #
    266         d[self.ksActionBuildSrcList]        = lambda: self._actionGenericListing(BuildSourceLogic, WuiAdminBuildSrcList)
    267         d[self.ksActionBuildSrcAdd]         = lambda: self._actionGenericFormAdd(BuildSourceData, WuiAdminBuildSrc);
    268         d[self.ksActionBuildSrcAddPost]     = lambda: self._actionGenericFormAddPost(BuildSourceData, BuildSourceLogic,
    269                                                                                      WuiAdminBuildSrc, self.ksActionBuildSrcList);
    270         d[self.ksActionBuildSrcClone]       = lambda: self._actionGenericFormClone(  BuildSourceData, WuiAdminBuildSrc,
    271                                                                                      'idBuildSrc');
    272         d[self.ksActionBuildSrcDetails]     = lambda: self._actionGenericFormDetails(BuildSourceData, BuildSourceLogic,
    273                                                                                      WuiAdminBuildSrc, 'idBuildSrc');
    274         d[self.ksActionBuildSrcDoRemove]    = lambda: self._actionGenericDoRemove(BuildSourceLogic,
    275                                                                                   BuildSourceData.ksParam_idBuildSrc,
    276                                                                                   self.ksActionBuildSrcList);
    277         d[self.ksActionBuildSrcEdit]        = lambda: self._actionGenericFormEdit(BuildSourceData, WuiAdminBuildSrc,
    278                                                                                   BuildSourceData.ksParam_idBuildSrc);
    279         d[self.ksActionBuildSrcEditPost]    = lambda: self._actionGenericFormEditPost(BuildSourceData, BuildSourceLogic,
    280                                                                                       WuiAdminBuildSrc,
    281                                                                                       self.ksActionBuildSrcList);
    282 
     216        self._dDispatch[self.ksActionBuildSrcList]              = self._actionBuildSrcList;
     217        self._dDispatch[self.ksActionBuildSrcAdd]               = self._actionBuildSrcAdd;
     218        self._dDispatch[self.ksActionBuildSrcAddPost]           = self._actionBuildSrcAddPost;
     219        self._dDispatch[self.ksActionBuildSrcClone]             = self._actionBuildSrcClone;
     220        self._dDispatch[self.ksActionBuildSrcDetails]           = self._actionBuildSrcDetails;
     221        self._dDispatch[self.ksActionBuildSrcDoRemove]          = self._actionBuildSrcDoRemove;
     222        self._dDispatch[self.ksActionBuildSrcEdit]              = self._actionBuildSrcEdit;
     223        self._dDispatch[self.ksActionBuildSrcEditPost]          = self._actionBuildSrcEditPost;
    283224
    284225        #
    285226        # Build actions
    286227        #
    287         d[self.ksActionBuildList]           = lambda: self._actionGenericListing(BuildLogic, WuiAdminBuildList)
    288         d[self.ksActionBuildAdd]            = lambda: self._actionGenericFormAdd(BuildData, WuiAdminBuild)
    289         d[self.ksActionBuildAddPost]        = lambda: self._actionGenericFormAddPost(BuildData, BuildLogic, WuiAdminBuild,
    290                                                                                      self.ksActionBuildList)
    291         d[self.ksActionBuildClone]          = lambda: self._actionGenericFormClone(  BuildData, WuiAdminBuild, 'idBuild');
    292         d[self.ksActionBuildDetails]        = lambda: self._actionGenericFormDetails(BuildData, BuildLogic,
    293                                                                                      WuiAdminBuild, 'idBuild');
    294         d[self.ksActionBuildDoRemove]       = lambda: self._actionGenericDoRemove(BuildLogic, BuildData.ksParam_idBuild,
    295                                                                                   self.ksActionBuildList);
    296         d[self.ksActionBuildEdit]           = lambda: self._actionGenericFormEdit(BuildData, WuiAdminBuild,
    297                                                                                   BuildData.ksParam_idBuild);
    298         d[self.ksActionBuildEditPost]       = lambda: self._actionGenericFormEditPost(BuildData, BuildLogic, WuiAdminBuild,
    299                                                                                       self.ksActionBuildList)
     228        self._dDispatch[self.ksActionBuildList]                 = self._actionBuildList;
     229        self._dDispatch[self.ksActionBuildAdd]                  = self._actionBuildAdd;
     230        self._dDispatch[self.ksActionBuildAddPost]              = self._actionBuildAddPost;
     231        self._dDispatch[self.ksActionBuildClone]                = self._actionBuildClone;
     232        self._dDispatch[self.ksActionBuildDetails]              = self._actionBuildDetails;
     233        self._dDispatch[self.ksActionBuildDoRemove]             = self._actionBuildDoRemove;
     234        self._dDispatch[self.ksActionBuildEdit]                 = self._actionBuildEdit;
     235        self._dDispatch[self.ksActionBuildEditPost]             = self._actionBuildEditPost;
    300236
    301237        #
    302238        # Build Black List actions
    303239        #
    304         d[self.ksActionBuildBlacklist]          = lambda: self._actionGenericListing(BuildBlacklistLogic,
    305                                                                                      WuiAdminListOfBlacklistItems);
    306         d[self.ksActionBuildBlacklistAdd]       = lambda: self._actionGenericFormAdd(BuildBlacklistData, WuiAdminBuildBlacklist);
    307         d[self.ksActionBuildBlacklistAddPost]   = lambda: self._actionGenericFormAddPost(BuildBlacklistData, BuildBlacklistLogic,
    308                                                                                          WuiAdminBuildBlacklist,
    309                                                                                          self.ksActionBuildBlacklist);
    310         d[self.ksActionBuildBlacklistClone]     = lambda: self._actionGenericFormClone(BuildBlacklistData,
    311                                                                                        WuiAdminBuildBlacklist,
    312                                                                                        'idBlacklisting');
    313         d[self.ksActionBuildBlacklistDetails]   = lambda: self._actionGenericFormDetails(BuildBlacklistData,
    314                                                                                          BuildBlacklistLogic,
    315                                                                                          WuiAdminBuildBlacklist,
    316                                                                                          'idBlacklisting');
    317         d[self.ksActionBuildBlacklistDoRemove]  = lambda: self._actionGenericDoRemove(BuildBlacklistLogic,
    318                                                                                       BuildBlacklistData.ksParam_idBlacklisting,
    319                                                                                       self.ksActionBuildBlacklist)
    320         d[self.ksActionBuildBlacklistEdit]      = lambda: self._actionGenericFormEdit(BuildBlacklistData,
    321                                                                                       WuiAdminBuildBlacklist,
    322                                                                                       BuildBlacklistData.ksParam_idBlacklisting);
    323         d[self.ksActionBuildBlacklistEditPost]  = lambda: self._actionGenericFormEditPost(BuildBlacklistData,
    324                                                                                           BuildBlacklistLogic,
    325                                                                                           WuiAdminBuildBlacklist,
    326                                                                                           self.ksActionBuildBlacklist)
    327 
     240        self._dDispatch[self.ksActionBuildBlacklist]            = self._actionBuildBlacklist;
     241        self._dDispatch[self.ksActionBuildBlacklistAdd]         = self._actionBuildBlacklistAdd;
     242        self._dDispatch[self.ksActionBuildBlacklistAddPost]     = self._actionBuildBlacklistAddPost;
     243        self._dDispatch[self.ksActionBuildBlacklistClone]       = self._actionBuildBlacklistClone;
     244        self._dDispatch[self.ksActionBuildBlacklistDetails]     = self._actionBuildBlacklistDetails;
     245        self._dDispatch[self.ksActionBuildBlacklistDoRemove]    = self._actionBuildBlacklistDoRemove;
     246        self._dDispatch[self.ksActionBuildBlacklistEdit]        = self._actionBuildBlacklistEdit;
     247        self._dDispatch[self.ksActionBuildBlacklistEditPost]    = self._actionBuildBlacklistEditPost;
    328248
    329249        #
    330250        # Failure Category actions
    331251        #
    332         d[self.ksActionFailureCategoryList] = \
    333             lambda: self._actionGenericListing(FailureCategoryLogic, WuiFailureCategoryList);
    334         d[self.ksActionFailureCategoryAdd] = \
    335             lambda: self._actionGenericFormAdd(FailureCategoryData, WuiFailureCategory);
    336         d[self.ksActionFailureCategoryAddPost] = \
    337             lambda: self._actionGenericFormAddPost(FailureCategoryData, FailureCategoryLogic, WuiFailureCategory,
    338                                                    self.ksActionFailureCategoryList)
    339         d[self.ksActionFailureCategoryDetails] = \
    340             lambda: self._actionGenericFormDetails(FailureCategoryData, FailureCategoryLogic, WuiFailureCategory);
    341 
    342         d[self.ksActionFailureCategoryDoRemove] = \
    343             lambda: self._actionGenericDoRemove(FailureCategoryLogic, FailureCategoryData.ksParam_idFailureCategory,
    344                                                 self.ksActionFailureCategoryList);
    345         d[self.ksActionFailureCategoryEdit] = \
    346             lambda: self._actionGenericFormEdit(FailureCategoryData, WuiFailureCategory,
    347                                                 FailureCategoryData.ksParam_idFailureCategory);
    348         d[self.ksActionFailureCategoryEditPost] = \
    349             lambda: self._actionGenericFormEditPost(FailureCategoryData, FailureCategoryLogic, WuiFailureCategory,
    350                                                     self.ksActionFailureCategoryList);
     252        self._dDispatch[self.ksActionFailureCategoryList]       = self._actionFailureCategoryList;
     253        self._dDispatch[self.ksActionFailureCategoryAdd]        = self._actionFailureCategoryAdd;
     254        self._dDispatch[self.ksActionFailureCategoryAddPost]    = self._actionFailureCategoryAddPost;
     255        self._dDispatch[self.ksActionFailureCategoryDetails]    = self._actionFailureCategoryDetails;
     256        self._dDispatch[self.ksActionFailureCategoryDoRemove]   = self._actionFailureCategoryDoRemove;
     257        self._dDispatch[self.ksActionFailureCategoryEdit]       = self._actionFailureCategoryEdit;
     258        self._dDispatch[self.ksActionFailureCategoryEditPost]   = self._actionFailureCategoryEditPost;
    351259
    352260        #
    353261        # Failure Reason actions
    354262        #
    355         d[self.ksActionFailureReasonList] = \
    356             lambda: self._actionGenericListing(FailureReasonLogic, WuiAdminFailureReasonList)
    357 
    358         d[self.ksActionFailureReasonAdd] = \
    359             lambda: self._actionGenericFormAdd(FailureReasonData, WuiAdminFailureReason);
    360         d[self.ksActionFailureReasonAddPost] = \
    361             lambda: self._actionGenericFormAddPost(FailureReasonData, FailureReasonLogic, WuiAdminFailureReason,
    362                                                    self.ksActionFailureReasonList);
    363         d[self.ksActionFailureReasonDetails] = \
    364             lambda: self._actionGenericFormDetails(FailureReasonData, FailureReasonLogic, WuiAdminFailureReason);
    365         d[self.ksActionFailureReasonDoRemove] = \
    366             lambda: self._actionGenericDoRemove(FailureReasonLogic, FailureReasonData.ksParam_idFailureReason,
    367                                                 self.ksActionFailureReasonList);
    368         d[self.ksActionFailureReasonEdit] = \
    369             lambda: self._actionGenericFormEdit(FailureReasonData, WuiAdminFailureReason);
    370 
    371         d[self.ksActionFailureReasonEditPost] = \
    372             lambda: self._actionGenericFormEditPost(FailureReasonData, FailureReasonLogic, WuiAdminFailureReason,\
    373                                                     self.ksActionFailureReasonList)
     263        self._dDispatch[self.ksActionFailureReasonList]         = self._actionFailureReasonList;
     264        self._dDispatch[self.ksActionFailureReasonAdd]          = self._actionFailureReasonAdd;
     265        self._dDispatch[self.ksActionFailureReasonAddPost]      = self._actionFailureReasonAddPost;
     266        self._dDispatch[self.ksActionFailureReasonDetails]      = self._actionFailureReasonDetails;
     267        self._dDispatch[self.ksActionFailureReasonDoRemove]     = self._actionFailureReasonDoRemove;
     268        self._dDispatch[self.ksActionFailureReasonEdit]         = self._actionFailureReasonEdit;
     269        self._dDispatch[self.ksActionFailureReasonEditPost]     = self._actionFailureReasonEditPost;
    374270
    375271        #
    376272        # Build Category actions
    377273        #
    378         d[self.ksActionBuildCategoryList]       = lambda: self._actionGenericListing(BuildCategoryLogic, WuiAdminBuildCatList);
    379         d[self.ksActionBuildCategoryAdd]        = lambda: self._actionGenericFormAdd(BuildCategoryData, WuiAdminBuildCat);
    380         d[self.ksActionBuildCategoryAddPost]    = lambda: self._actionGenericFormAddPost(BuildCategoryData, BuildCategoryLogic,
    381                                                                                      WuiAdminBuildCat,
    382                                                                                      self.ksActionBuildCategoryList);
    383         d[self.ksActionBuildCategoryClone]      = lambda: self._actionGenericFormClone(  BuildCategoryData, WuiAdminBuildCat,
    384                                                                                          'idBuildCategory');
    385         d[self.ksActionBuildCategoryDetails]    = lambda: self._actionGenericFormDetails(BuildCategoryData, BuildCategoryLogic,
    386                                                                                          WuiAdminBuildCat, 'idBuildCategory');
    387         d[self.ksActionBuildCategoryDoRemove]   = lambda: self._actionGenericDoRemove(BuildCategoryLogic,
    388                                                                                   BuildCategoryData.ksParam_idBuildCategory,
    389                                                                                   self.ksActionBuildCategoryList)
     274        self._dDispatch[self.ksActionBuildCategoryList]         = self._actionBuildCategoryList;
     275        self._dDispatch[self.ksActionBuildCategoryAdd]          = self._actionBuildCategoryAdd;
     276        self._dDispatch[self.ksActionBuildCategoryAddPost]      = self._actionBuildCategoryAddPost;
     277        self._dDispatch[self.ksActionBuildCategoryClone]        = self._actionBuildCategoryClone;
     278        self._dDispatch[self.ksActionBuildCategoryDetails]      = self._actionBuildCategoryDetails;
     279        self._dDispatch[self.ksActionBuildCategoryDoRemove]     = self._actionBuildCategoryDoRemove;
    390280
    391281        #
    392282        # Test Group actions
    393283        #
    394         d[self.ksActionTestGroupList]       = lambda: self._actionGenericListing(TestGroupLogic, WuiTestGroupList);
    395         d[self.ksActionTestGroupAdd]        = lambda: self._actionGenericFormAdd(TestGroupDataEx, WuiTestGroup);
    396         d[self.ksActionTestGroupAddPost]    = lambda: self._actionGenericFormAddPost(TestGroupDataEx, TestGroupLogic,
    397                                                                                      WuiTestGroup, self.ksActionTestGroupList);
    398         d[self.ksActionTestGroupClone]      = lambda: self._actionGenericFormClone(  TestGroupDataEx, WuiTestGroup,
    399                                                                                      'idTestGroup');
    400         d[self.ksActionTestGroupDetails]    = lambda: self._actionGenericFormDetails(TestGroupDataEx, TestGroupLogic,
    401                                                                                      WuiTestGroup, 'idTestGroup');
    402         d[self.ksActionTestGroupEdit]       = lambda: self._actionGenericFormEdit(TestGroupDataEx, WuiTestGroup,
    403                                                                                   TestGroupDataEx.ksParam_idTestGroup);
    404         d[self.ksActionTestGroupEditPost]   = lambda: self._actionGenericFormEditPost(TestGroupDataEx, TestGroupLogic,
    405                                                                                       WuiTestGroup, self.ksActionTestGroupList);
    406         d[self.ksActionTestGroupDoRemove]   = lambda: self._actionGenericDoRemove(TestGroupLogic,
    407                                                                                   TestGroupDataEx.ksParam_idTestGroup,
    408                                                                                   self.ksActionTestGroupList)
    409         d[self.ksActionTestCfgRegenQueues]  = self._actionRegenQueuesCommon;
     284        self._dDispatch[self.ksActionTestGroupList]             = self._actionTestGroupList;
     285        self._dDispatch[self.ksActionTestGroupAdd]              = self._actionTestGroupAdd;
     286        self._dDispatch[self.ksActionTestGroupAddPost]          = self._actionTestGroupAddPost;
     287        self._dDispatch[self.ksActionTestGroupClone]            = self._actionTestGroupClone;
     288        self._dDispatch[self.ksActionTestGroupDetails]          = self._actionTestGroupDetails;
     289        self._dDispatch[self.ksActionTestGroupEdit]             = self._actionTestGroupEdit;
     290        self._dDispatch[self.ksActionTestGroupEditPost]         = self._actionTestGroupEditPost;
     291        self._dDispatch[self.ksActionTestGroupDoRemove]         = self._actionTestGroupDoRemove;
     292        self._dDispatch[self.ksActionTestCfgRegenQueues]        = self._actionRegenQueuesCommon;
    410293
    411294        #
    412295        # Scheduling Group actions
    413296        #
    414         d[self.ksActionSchedGroupList]      = lambda: self._actionGenericListing(SchedGroupLogic, WuiAdminSchedGroupList)
    415         d[self.ksActionSchedGroupAdd]       = lambda: self._actionGenericFormAdd(SchedGroupDataEx, WuiSchedGroup);
    416         d[self.ksActionSchedGroupClone]     = lambda: self._actionGenericFormClone(  SchedGroupDataEx, WuiSchedGroup,
    417                                                                                      'idSchedGroup');
    418         d[self.ksActionSchedGroupDetails]   = lambda: self._actionGenericFormDetails(SchedGroupDataEx, SchedGroupLogic,
    419                                                                                      WuiSchedGroup, 'idSchedGroup');
    420         d[self.ksActionSchedGroupEdit]      = lambda: self._actionGenericFormEdit(SchedGroupDataEx, WuiSchedGroup,
    421                                                                                   SchedGroupData.ksParam_idSchedGroup);
    422         d[self.ksActionSchedGroupAddPost]   = lambda: self._actionGenericFormAddPost(SchedGroupDataEx, SchedGroupLogic,
    423                                                                                      WuiSchedGroup, self.ksActionSchedGroupList);
    424         d[self.ksActionSchedGroupEditPost]  = lambda: self._actionGenericFormEditPost(SchedGroupDataEx, SchedGroupLogic,
    425                                                                                       WuiSchedGroup, self.ksActionSchedGroupList);
    426         d[self.ksActionSchedGroupDoRemove]  = lambda: self._actionGenericDoRemove(SchedGroupLogic,
    427                                                                                   SchedGroupData.ksParam_idSchedGroup,
    428                                                                                   self.ksActionSchedGroupList)
    429 
     297        self._dDispatch[self.ksActionSchedGroupList]            = self._actionSchedGroupList;
     298        self._dDispatch[self.ksActionSchedGroupAdd]             = self._actionSchedGroupAdd;
     299        self._dDispatch[self.ksActionSchedGroupClone]           = self._actionSchedGroupClone;
     300        self._dDispatch[self.ksActionSchedGroupDetails]         = self._actionSchedGroupDetails;
     301        self._dDispatch[self.ksActionSchedGroupEdit]            = self._actionSchedGroupEdit;
     302        self._dDispatch[self.ksActionSchedGroupAddPost]         = self._actionSchedGroupAddPost;
     303        self._dDispatch[self.ksActionSchedGroupEditPost]        = self._actionSchedGroupEditPost;
     304        self._dDispatch[self.ksActionSchedGroupDoRemove]        = self._actionSchedGroupDoRemove;
     305
     306
     307        #
     308        # Menus
     309        #
    430310        self._aaoMenus = \
    431311        [
     
    491371        """Show the default admin page."""
    492372        self._sAction = self.ksActionTestBoxList;
     373        from testmanager.core.testbox                  import TestBoxLogic;
     374        from testmanager.webui.wuiadmintestbox         import WuiTestBoxList;
    493375        return self._actionGenericListing(TestBoxLogic, WuiTestBoxList);
    494376
     
    557439    #
    558440
    559     # (all generic)
     441    # System Log actions.
     442
     443    def _actionSystemLogList(self):
     444        """ Action wrapper. """
     445        from testmanager.core.systemlog                import SystemLogLogic;
     446        from testmanager.webui.wuiadminsystemlog       import WuiAdminSystemLogList;
     447        return self._actionGenericListing(SystemLogLogic, WuiAdminSystemLogList)
     448
     449    # User Account actions.
     450
     451    def _actionUserList(self):
     452        """ Action wrapper. """
     453        from testmanager.core.useraccount              import UserAccountLogic;
     454        from testmanager.webui.wuiadminuseraccount     import WuiUserAccountList;
     455        return self._actionGenericListing(UserAccountLogic, WuiUserAccountList)
     456
     457    def _actionUserAdd(self):
     458        """ Action wrapper. """
     459        from testmanager.core.useraccount              import UserAccountData;
     460        from testmanager.webui.wuiadminuseraccount     import WuiUserAccount;
     461        return self._actionGenericFormAdd(UserAccountData, WuiUserAccount)
     462
     463    def _actionUserEdit(self):
     464        """ Action wrapper. """
     465        from testmanager.core.useraccount              import UserAccountData, UserAccountLogic;
     466        from testmanager.webui.wuiadminuseraccount     import WuiUserAccount;
     467        return self._actionGenericFormEdit(UserAccountData, WuiUserAccount, UserAccountData.ksParam_uid);
     468
     469    def _actionUserAddPost(self):
     470        """ Action wrapper. """
     471        from testmanager.core.useraccount              import UserAccountData, UserAccountLogic;
     472        from testmanager.webui.wuiadminuseraccount     import WuiUserAccount;
     473        return self._actionGenericFormAddPost(UserAccountData, UserAccountLogic, WuiUserAccount, self.ksActionUserList)
     474
     475    def _actionUserEditPost(self):
     476        """ Action wrapper. """
     477        from testmanager.core.useraccount              import UserAccountData, UserAccountLogic;
     478        from testmanager.webui.wuiadminuseraccount     import WuiUserAccount;
     479        return self._actionGenericFormEditPost(UserAccountData, UserAccountLogic, WuiUserAccount, self.ksActionUserList)
     480
     481    def _actionUserDelPost(self):
     482        """ Action wrapper. """
     483        from testmanager.core.useraccount              import UserAccountData, UserAccountLogic;
     484        return self._actionGenericDoRemove(UserAccountLogic, UserAccountData.ksParam_uid, self.ksActionUserList)
     485
    560486
    561487    #
    562488    # TestBox & Scheduling Category.
    563489    #
     490
     491    def _actionTestBoxList(self):
     492        """ Action wrapper. """
     493        from testmanager.core.testbox                  import TestBoxLogic
     494        from testmanager.webui.wuiadmintestbox         import WuiTestBoxList;
     495        return self._actionGenericListing(TestBoxLogic, WuiTestBoxList);
    564496
    565497    def _actionTestBoxListPost(self):
    566498        """Actions on a list of testboxes."""
     499        from testmanager.core.testbox                  import TestBoxData, TestBoxLogic
     500        from testmanager.webui.wuiadmintestbox         import WuiTestBoxList;
    567501
    568502        # Parameters.
     
    619553        return True;
    620554
    621     ## @todo scheduling groups code goes here...
     555    def _actionTestBoxAdd(self):
     556        """ Action wrapper. """
     557        from testmanager.core.testbox                  import TestBoxData;
     558        from testmanager.webui.wuiadmintestbox         import WuiTestBox;
     559        return self._actionGenericFormAdd(TestBoxData, WuiTestBox);
     560
     561    def _actionTestBoxAddPost(self):
     562        """ Action wrapper. """
     563        from testmanager.core.testbox                  import TestBoxData, TestBoxLogic;
     564        from testmanager.webui.wuiadmintestbox         import WuiTestBox;
     565        return self._actionGenericFormAddPost(TestBoxData, TestBoxLogic, WuiTestBox, self.ksActionTestBoxList);
     566
     567    def _actionTestBoxDetails(self):
     568        """ Action wrapper. """
     569        from testmanager.core.testbox                  import TestBoxData, TestBoxLogic;
     570        from testmanager.webui.wuiadmintestbox         import WuiTestBox;
     571        return self._actionGenericFormDetails(TestBoxData, TestBoxLogic, WuiTestBox, 'idTestBox', 'idGenTestBox');
     572
     573    def _actionTestBoxEdit(self):
     574        """ Action wrapper. """
     575        from testmanager.core.testbox                  import TestBoxData, TestBoxLogic;
     576        from testmanager.webui.wuiadmintestbox         import WuiTestBox;
     577        return self._actionGenericFormEdit(TestBoxData, WuiTestBox, TestBoxData.ksParam_idTestBox);
     578
     579    def _actionTestBoxEditPost(self):
     580        """ Action wrapper. """
     581        from testmanager.core.testbox                  import TestBoxData, TestBoxLogic;
     582        from testmanager.webui.wuiadmintestbox         import WuiTestBox;
     583        return self._actionGenericFormEditPost(TestBoxData, TestBoxLogic,WuiTestBox, self.ksActionTestBoxList);
     584
     585    def _actionTestBoxRemovePost(self):
     586        """ Action wrapper. """
     587        from testmanager.core.testbox                  import TestBoxData, TestBoxLogic;
     588        from testmanager.webui.wuiadmintestbox         import WuiTestBox;
     589        return self._actionGenericDoRemove(TestBoxLogic, TestBoxData.ksParam_idTestBox, self.ksActionTestBoxList);
     590
     591
     592    # Scheduling Group actions
     593
     594    def _actionSchedGroupList(self):
     595        """ Action wrapper. """
     596        from testmanager.core.schedgroup                import SchedGroupLogic;
     597        from testmanager.webui.wuiadminschedgroup       import WuiAdminSchedGroupList;
     598        return self._actionGenericListing(SchedGroupLogic, WuiAdminSchedGroupList);
     599
     600    def _actionSchedGroupAdd(self):
     601        """ Action wrapper. """
     602        from testmanager.core.schedgroup                import SchedGroupDataEx;
     603        from testmanager.webui.wuiadminschedgroup       import WuiSchedGroup;
     604        return self._actionGenericFormAdd(SchedGroupDataEx, WuiSchedGroup);
     605
     606    def _actionSchedGroupClone(self):
     607        """ Action wrapper. """
     608        from testmanager.core.schedgroup                import SchedGroupDataEx;
     609        from testmanager.webui.wuiadminschedgroup       import WuiSchedGroup;
     610        return self._actionGenericFormClone(  SchedGroupDataEx, WuiSchedGroup, 'idSchedGroup');
     611
     612    def _actionSchedGroupDetails(self):
     613        """ Action wrapper. """
     614        from testmanager.core.schedgroup                import SchedGroupDataEx, SchedGroupLogic;
     615        from testmanager.webui.wuiadminschedgroup       import WuiSchedGroup;
     616        return self._actionGenericFormDetails(SchedGroupDataEx, SchedGroupLogic, WuiSchedGroup, 'idSchedGroup');
     617
     618    def _actionSchedGroupEdit(self):
     619        """ Action wrapper. """
     620        from testmanager.core.schedgroup                import SchedGroupDataEx;
     621        from testmanager.webui.wuiadminschedgroup       import WuiSchedGroup;
     622        return self._actionGenericFormEdit(SchedGroupDataEx, WuiSchedGroup, SchedGroupDataEx.ksParam_idSchedGroup);
     623
     624    def _actionSchedGroupAddPost(self):
     625        """ Action wrapper. """
     626        from testmanager.core.schedgroup                import SchedGroupDataEx, SchedGroupLogic;
     627        from testmanager.webui.wuiadminschedgroup       import WuiSchedGroup;
     628        return self._actionGenericFormAddPost(SchedGroupDataEx, SchedGroupLogic, WuiSchedGroup, self.ksActionSchedGroupList);
     629
     630    def _actionSchedGroupEditPost(self):
     631        """ Action wrapper. """
     632        from testmanager.core.schedgroup                import SchedGroupDataEx, SchedGroupLogic;
     633        from testmanager.webui.wuiadminschedgroup       import WuiSchedGroup;
     634        return self._actionGenericFormEditPost(SchedGroupDataEx, SchedGroupLogic, WuiSchedGroup, self.ksActionSchedGroupList);
     635
     636    def _actionSchedGroupDoRemove(self):
     637        """ Action wrapper. """
     638        from testmanager.core.schedgroup                import SchedGroupData, SchedGroupLogic;
     639        return self._actionGenericDoRemove(SchedGroupLogic, SchedGroupData.ksParam_idSchedGroup, self.ksActionSchedGroupList)
     640
    622641
    623642    def _actionRegenQueuesCommon(self):
     
    627646        Too lazy to put this in some separate place right now.
    628647        """
     648        from testmanager.core.schedgroup               import SchedGroupLogic;
     649        from testmanager.core.schedulerbase            import SchedulerBase;
     650
    629651        self._checkForUnknownParameters();
    630652        ## @todo should also be changed to a POST with a confirmation dialog preceeding it.
     
    667689    #
    668690
     691    # Test Cases
     692
     693    def _actionTestCaseList(self):
     694        """ Action wrapper. """
     695        from testmanager.core.testcase                  import TestCaseLogic;
     696        from testmanager.webui.wuiadmintestcase         import WuiTestCaseList;
     697        return self._actionGenericListing(TestCaseLogic, WuiTestCaseList);
     698
     699    def _actionTestCaseAdd(self):
     700        """ Action wrapper. """
     701        from testmanager.core.testcase                  import TestCaseDataEx;
     702        from testmanager.webui.wuiadmintestcase         import WuiTestCase;
     703        return self._actionGenericFormAdd(TestCaseDataEx, WuiTestCase);
     704
     705    def _actionTestCaseAddPost(self):
     706        """ Action wrapper. """
     707        from testmanager.core.testcase                  import TestCaseDataEx, TestCaseLogic;
     708        from testmanager.webui.wuiadmintestcase         import WuiTestCase;
     709        return self._actionGenericFormAddPost(TestCaseDataEx, TestCaseLogic, WuiTestCase, self.ksActionTestCaseList);
     710
     711    def _actionTestCaseClone(self):
     712        """ Action wrapper. """
     713        from testmanager.core.testcase                  import TestCaseDataEx;
     714        from testmanager.webui.wuiadmintestcase         import WuiTestCase;
     715        return self._actionGenericFormClone(  TestCaseDataEx, WuiTestCase, 'idTestCase', 'idGenTestCase');
     716
     717    def _actionTestCaseDetails(self):
     718        """ Action wrapper. """
     719        from testmanager.core.testcase                  import TestCaseDataEx, TestCaseLogic;
     720        from testmanager.webui.wuiadmintestcase         import WuiTestCase;
     721        return self._actionGenericFormDetails(TestCaseDataEx, TestCaseLogic, WuiTestCase, 'idTestCase', 'idGenTestCase');
     722
     723    def _actionTestCaseEdit(self):
     724        """ Action wrapper. """
     725        from testmanager.core.testcase                  import TestCaseDataEx, TestCaseLogic;
     726        from testmanager.webui.wuiadmintestcase         import WuiTestCase;
     727        return self._actionGenericFormEdit(TestCaseDataEx, WuiTestCase, TestCaseDataEx.ksParam_idTestCase);
     728
     729    def _actionTestCaseEditPost(self):
     730        """ Action wrapper. """
     731        from testmanager.core.testcase                  import TestCaseDataEx, TestCaseLogic;
     732        from testmanager.webui.wuiadmintestcase         import WuiTestCase;
     733        return self._actionGenericFormEditPost(TestCaseDataEx, TestCaseLogic, WuiTestCase, self.ksActionTestCaseList);
     734
     735    def _actionTestCaseDoRemove(self):
     736        """ Action wrapper. """
     737        from testmanager.core.testcase                  import TestCaseData, TestCaseLogic;
     738        return self._actionGenericDoRemove(TestCaseLogic, TestCaseData.ksParam_idTestCase, self.ksActionTestCaseList);
     739
     740    # Test Group actions
     741    def _actionTestGroupList(self):
     742        """ Action wrapper. """
     743        from testmanager.core.testgroup                 import TestGroupLogic;
     744        from testmanager.webui.wuiadmintestgroup        import WuiTestGroupList;
     745        return self._actionGenericListing(TestGroupLogic, WuiTestGroupList);
     746    def _actionTestGroupAdd(self):
     747        """ Action wrapper. """
     748        from testmanager.core.testgroup                 import TestGroupDataEx;
     749        from testmanager.webui.wuiadmintestgroup        import WuiTestGroup;
     750        return self._actionGenericFormAdd(TestGroupDataEx, WuiTestGroup);
     751    def _actionTestGroupAddPost(self):
     752        """ Action wrapper. """
     753        from testmanager.core.testgroup                 import TestGroupDataEx, TestGroupLogic;
     754        from testmanager.webui.wuiadmintestgroup        import WuiTestGroup;
     755        return self._actionGenericFormAddPost(TestGroupDataEx, TestGroupLogic, WuiTestGroup, self.ksActionTestGroupList);
     756    def _actionTestGroupClone(self):
     757        """ Action wrapper. """
     758        from testmanager.core.testgroup                 import TestGroupDataEx;
     759        from testmanager.webui.wuiadmintestgroup        import WuiTestGroup;
     760        return self._actionGenericFormClone(TestGroupDataEx, WuiTestGroup, 'idTestGroup');
     761    def _actionTestGroupDetails(self):
     762        """ Action wrapper. """
     763        from testmanager.core.testgroup                 import TestGroupDataEx, TestGroupLogic;
     764        from testmanager.webui.wuiadmintestgroup        import WuiTestGroup;
     765        return self._actionGenericFormDetails(TestGroupDataEx, TestGroupLogic, WuiTestGroup, 'idTestGroup');
     766    def _actionTestGroupEdit(self):
     767        """ Action wrapper. """
     768        from testmanager.core.testgroup                 import TestGroupDataEx;
     769        from testmanager.webui.wuiadmintestgroup        import WuiTestGroup;
     770        return self._actionGenericFormEdit(TestGroupDataEx, WuiTestGroup, TestGroupDataEx.ksParam_idTestGroup);
     771    def _actionTestGroupEditPost(self):
     772        """ Action wrapper. """
     773        from testmanager.core.testgroup                 import TestGroupDataEx, TestGroupLogic;
     774        from testmanager.webui.wuiadmintestgroup        import WuiTestGroup;
     775        return self._actionGenericFormEditPost(TestGroupDataEx, TestGroupLogic, WuiTestGroup, self.ksActionTestGroupList);
     776    def _actionTestGroupDoRemove(self):
     777        """ Action wrapper. """
     778        from testmanager.core.testgroup                 import TestGroupDataEx, TestGroupLogic;
     779        return self._actionGenericDoRemove(TestGroupLogic, TestGroupDataEx.ksParam_idTestGroup, self.ksActionTestGroupList)
     780
     781
     782    # Global Resources
     783
     784    def _actionGlobalRsrcShowAll(self):
     785        """ Action wrapper. """
     786        from testmanager.core.globalresource            import GlobalResourceLogic;
     787        from testmanager.webui.wuiadminglobalrsrc       import WuiGlobalResourceList;
     788        return self._actionGenericListing(GlobalResourceLogic, WuiGlobalResourceList);
     789
     790    def _actionGlobalRsrcShowAdd(self):
     791        """ Action wrapper. """
     792        return self._actionGlobalRsrcShowAddEdit(WuiAdmin.ksActionGlobalRsrcAdd);
     793
     794    def _actionGlobalRsrcShowEdit(self):
     795        """ Action wrapper. """
     796        return self._actionGlobalRsrcShowAddEdit(WuiAdmin.ksActionGlobalRsrcEdit);
     797
     798    def _actionGlobalRsrcAdd(self):
     799        """ Action wrapper. """
     800        return self._actionGlobalRsrcAddEdit(WuiAdmin.ksActionGlobalRsrcAdd);
     801
     802    def _actionGlobalRsrcEdit(self):
     803        """ Action wrapper. """
     804        return self._actionGlobalRsrcAddEdit(WuiAdmin.ksActionGlobalRsrcEdit);
     805
     806    def _actionGlobalRsrcDel(self):
     807        """ Action wrapper. """
     808        from testmanager.core.globalresource            import GlobalResourceData, GlobalResourceLogic;
     809        return self._actionGenericDoDelOld(GlobalResourceLogic, GlobalResourceData.ksParam_idGlobalRsrc,
     810                                           self.ksActionGlobalRsrcShowAll);
     811
    669812    def _actionGlobalRsrcShowAddEdit(self, sAction): # pylint: disable=C0103
    670813        """Show Global Resource creation or edit dialog"""
     814        from testmanager.core.globalresource           import GlobalResourceLogic, GlobalResourceData;
     815        from testmanager.webui.wuiadminglobalrsrc      import WuiGlobalResource;
    671816
    672817        oGlobalResourceLogic = GlobalResourceLogic(self._oDb)
     
    687832    def _actionGlobalRsrcAddEdit(self, sAction):
    688833        """Add or modify Global Resource record"""
     834        from testmanager.core.globalresource           import GlobalResourceLogic, GlobalResourceData;
     835        from testmanager.webui.wuiadminglobalrsrc      import WuiGlobalResource;
    689836
    690837        oData = GlobalResourceData()
     
    715862        return True
    716863
     864
     865    #
     866    # Build Source actions
     867    #
     868
     869    def _actionBuildSrcList(self):
     870        """ Action wrapper. """
     871        from testmanager.core.buildsource               import BuildSourceLogic;
     872        from testmanager.webui.wuiadminbuildsource      import WuiAdminBuildSrcList;
     873        return self._actionGenericListing(BuildSourceLogic, WuiAdminBuildSrcList);
     874
     875    def _actionBuildSrcAdd(self):
     876        """ Action wrapper. """
     877        from testmanager.core.buildsource               import BuildSourceData;
     878        from testmanager.webui.wuiadminbuildsource      import WuiAdminBuildSrc;
     879        return self._actionGenericFormAdd(BuildSourceData, WuiAdminBuildSrc);
     880
     881    def _actionBuildSrcAddPost(self):
     882        """ Action wrapper. """
     883        from testmanager.core.buildsource               import BuildSourceData, BuildSourceLogic;
     884        from testmanager.webui.wuiadminbuildsource      import WuiAdminBuildSrc;
     885        return self._actionGenericFormAddPost(BuildSourceData, BuildSourceLogic, WuiAdminBuildSrc, self.ksActionBuildSrcList);
     886
     887    def _actionBuildSrcClone(self):
     888        """ Action wrapper. """
     889        from testmanager.core.buildsource               import BuildSourceData;
     890        from testmanager.webui.wuiadminbuildsource      import WuiAdminBuildSrc;
     891        return self._actionGenericFormClone(  BuildSourceData, WuiAdminBuildSrc, 'idBuildSrc');
     892
     893    def _actionBuildSrcDetails(self):
     894        """ Action wrapper. """
     895        from testmanager.core.buildsource               import BuildSourceData, BuildSourceLogic;
     896        from testmanager.webui.wuiadminbuildsource      import WuiAdminBuildSrc;
     897        return self._actionGenericFormDetails(BuildSourceData, BuildSourceLogic, WuiAdminBuildSrc, 'idBuildSrc');
     898
     899    def _actionBuildSrcDoRemove(self):
     900        """ Action wrapper. """
     901        from testmanager.core.buildsource               import BuildSourceData, BuildSourceLogic;
     902        from testmanager.webui.wuiadminbuildsource      import WuiAdminBuildSrc;
     903        return self._actionGenericDoRemove(BuildSourceLogic, BuildSourceData.ksParam_idBuildSrc, self.ksActionBuildSrcList);
     904
     905    def _actionBuildSrcEdit(self):
     906        """ Action wrapper. """
     907        from testmanager.core.buildsource               import BuildSourceData;
     908        from testmanager.webui.wuiadminbuildsource      import WuiAdminBuildSrc;
     909        return self._actionGenericFormEdit(BuildSourceData, WuiAdminBuildSrc, BuildSourceData.ksParam_idBuildSrc);
     910
     911    def _actionBuildSrcEditPost(self):
     912        """ Action wrapper. """
     913        from testmanager.core.buildsource               import BuildSourceData, BuildSourceLogic;
     914        from testmanager.webui.wuiadminbuildsource      import WuiAdminBuildSrc;
     915        return self._actionGenericFormEditPost(BuildSourceData, BuildSourceLogic, WuiAdminBuildSrc, self.ksActionBuildSrcList);
     916
     917
     918    #
     919    # Build actions
     920    #
     921    def _actionBuildList(self):
     922        """ Action wrapper. """
     923        from testmanager.core.build                     import BuildLogic;
     924        from testmanager.webui.wuiadminbuild            import WuiAdminBuildList;
     925        return self._actionGenericListing(BuildLogic, WuiAdminBuildList);
     926
     927    def _actionBuildAdd(self):
     928        """ Action wrapper. """
     929        from testmanager.core.build                     import BuildData;
     930        from testmanager.webui.wuiadminbuild            import WuiAdminBuild;
     931        return self._actionGenericFormAdd(BuildData, WuiAdminBuild);
     932
     933    def _actionBuildAddPost(self):
     934        """ Action wrapper. """
     935        from testmanager.core.build                     import BuildData, BuildLogic;
     936        from testmanager.webui.wuiadminbuild            import WuiAdminBuild;
     937        return self._actionGenericFormAddPost(BuildData, BuildLogic, WuiAdminBuild, self.ksActionBuildList);
     938
     939    def _actionBuildClone(self):
     940        """ Action wrapper. """
     941        from testmanager.core.build                     import BuildData;
     942        from testmanager.webui.wuiadminbuild            import WuiAdminBuild;
     943        return self._actionGenericFormClone(  BuildData, WuiAdminBuild, 'idBuild');
     944
     945    def _actionBuildDetails(self):
     946        """ Action wrapper. """
     947        from testmanager.core.build                     import BuildData, BuildLogic;
     948        from testmanager.webui.wuiadminbuild            import WuiAdminBuild;
     949        return self._actionGenericFormDetails(BuildData, BuildLogic, WuiAdminBuild, 'idBuild');
     950
     951    def _actionBuildDoRemove(self):
     952        """ Action wrapper. """
     953        from testmanager.core.build                     import BuildData, BuildLogic;
     954        from testmanager.webui.wuiadminbuild            import WuiAdminBuild;
     955        return self._actionGenericDoRemove(BuildLogic, BuildData.ksParam_idBuild, self.ksActionBuildList);
     956
     957    def _actionBuildEdit(self):
     958        """ Action wrapper. """
     959        from testmanager.core.build                     import BuildData;
     960        from testmanager.webui.wuiadminbuild            import WuiAdminBuild;
     961        return self._actionGenericFormEdit(BuildData, WuiAdminBuild, BuildData.ksParam_idBuild);
     962
     963    def _actionBuildEditPost(self):
     964        """ Action wrapper. """
     965        from testmanager.core.build                     import BuildData, BuildLogic;
     966        from testmanager.webui.wuiadminbuild            import WuiAdminBuild;
     967        return self._actionGenericFormEditPost(BuildData, BuildLogic, WuiAdminBuild, self.ksActionBuildList)
     968
     969
     970    #
     971    # Build Category actions
     972    #
     973    def _actionBuildCategoryList(self):
     974        """ Action wrapper. """
     975        from testmanager.core.build                     import BuildCategoryLogic;
     976        from testmanager.webui.wuiadminbuildcategory    import WuiAdminBuildCatList;
     977        return self._actionGenericListing(BuildCategoryLogic, WuiAdminBuildCatList);
     978
     979    def _actionBuildCategoryAdd(self):
     980        """ Action wrapper. """
     981        from testmanager.core.build                     import BuildCategoryData;
     982        from testmanager.webui.wuiadminbuildcategory    import WuiAdminBuildCat;
     983        return self._actionGenericFormAdd(BuildCategoryData, WuiAdminBuildCat);
     984
     985    def _actionBuildCategoryAddPost(self):
     986        """ Action wrapper. """
     987        from testmanager.core.build                     import BuildCategoryData, BuildCategoryLogic;
     988        from testmanager.webui.wuiadminbuildcategory    import WuiAdminBuildCat;
     989        return self._actionGenericFormAddPost(BuildCategoryData, BuildCategoryLogic, WuiAdminBuildCat,
     990                                              self.ksActionBuildCategoryList);
     991
     992    def _actionBuildCategoryClone(self):
     993        """ Action wrapper. """
     994        from testmanager.core.build                     import BuildCategoryData, BuildCategoryLogic;
     995        from testmanager.webui.wuiadminbuildcategory    import WuiAdminBuildCat;
     996        return self._actionGenericFormClone(BuildCategoryData, WuiAdminBuildCat, 'idBuildCategory');
     997
     998    def _actionBuildCategoryDetails(self):
     999        """ Action wrapper. """
     1000        from testmanager.core.build                     import BuildCategoryData, BuildCategoryLogic;
     1001        from testmanager.webui.wuiadminbuildcategory    import WuiAdminBuildCat;
     1002        return self._actionGenericFormDetails(BuildCategoryData, BuildCategoryLogic, WuiAdminBuildCat, 'idBuildCategory');
     1003
     1004    def _actionBuildCategoryDoRemove(self):
     1005        """ Action wrapper. """
     1006        from testmanager.core.build                     import BuildCategoryData, BuildCategoryLogic;
     1007        from testmanager.webui.wuiadminbuildcategory    import WuiAdminBuildCat;
     1008        return self._actionGenericDoRemove(BuildCategoryLogic, BuildCategoryData.ksParam_idBuildCategory,
     1009                                           self.ksActionBuildCategoryList)
     1010
     1011
     1012    #
     1013    # Build Black List actions
     1014    #
     1015    def _actionBuildBlacklist(self):
     1016        """ Action wrapper. """
     1017        from testmanager.core.buildblacklist            import BuildBlacklistLogic;
     1018        from testmanager.webui.wuiadminbuildblacklist   import WuiAdminListOfBlacklistItems;
     1019        return self._actionGenericListing(BuildBlacklistLogic, WuiAdminListOfBlacklistItems);
     1020
     1021    def _actionBuildBlacklistAdd(self):
     1022        """ Action wrapper. """
     1023        from testmanager.core.buildblacklist            import BuildBlacklistData, BuildBlacklistLogic;
     1024        from testmanager.webui.wuiadminbuildblacklist   import WuiAdminBuildBlacklist;
     1025        return self._actionGenericFormAdd(BuildBlacklistData, WuiAdminBuildBlacklist);
     1026
     1027    def _actionBuildBlacklistAddPost(self):
     1028        """ Action wrapper. """
     1029        from testmanager.core.buildblacklist            import BuildBlacklistData, BuildBlacklistLogic;
     1030        from testmanager.webui.wuiadminbuildblacklist   import WuiAdminBuildBlacklist;
     1031        return self._actionGenericFormAddPost(BuildBlacklistData, BuildBlacklistLogic,
     1032                                              WuiAdminBuildBlacklist, self.ksActionBuildBlacklist);
     1033
     1034    def _actionBuildBlacklistClone(self):
     1035        """ Action wrapper. """
     1036        from testmanager.core.buildblacklist            import BuildBlacklistData, BuildBlacklistLogic;
     1037        from testmanager.webui.wuiadminbuildblacklist   import WuiAdminBuildBlacklist;
     1038        return self._actionGenericFormClone(BuildBlacklistData, WuiAdminBuildBlacklist, 'idBlacklisting');
     1039
     1040    def _actionBuildBlacklistDetails(self):
     1041        """ Action wrapper. """
     1042        from testmanager.core.buildblacklist            import BuildBlacklistData, BuildBlacklistLogic;
     1043        from testmanager.webui.wuiadminbuildblacklist   import WuiAdminBuildBlacklist;
     1044        return self._actionGenericFormDetails(BuildBlacklistData, BuildBlacklistLogic, WuiAdminBuildBlacklist, 'idBlacklisting');
     1045
     1046    def _actionBuildBlacklistDoRemove(self):
     1047        """ Action wrapper. """
     1048        from testmanager.core.buildblacklist            import BuildBlacklistData, BuildBlacklistLogic;
     1049        from testmanager.webui.wuiadminbuildblacklist   import WuiAdminBuildBlacklist;
     1050        return self._actionGenericDoRemove(BuildBlacklistLogic, BuildBlacklistData.ksParam_idBlacklisting,
     1051                                           self.ksActionBuildBlacklist);
     1052
     1053    def _actionBuildBlacklistEdit(self):
     1054        """ Action wrapper. """
     1055        from testmanager.core.buildblacklist            import BuildBlacklistData, BuildBlacklistLogic;
     1056        from testmanager.webui.wuiadminbuildblacklist   import WuiAdminBuildBlacklist;
     1057        return self._actionGenericFormEdit(BuildBlacklistData, WuiAdminBuildBlacklist, BuildBlacklistData.ksParam_idBlacklisting);
     1058
     1059    def _actionBuildBlacklistEditPost(self):
     1060        """ Action wrapper. """
     1061        from testmanager.core.buildblacklist            import BuildBlacklistData, BuildBlacklistLogic;
     1062        from testmanager.webui.wuiadminbuildblacklist   import WuiAdminBuildBlacklist;
     1063        return self._actionGenericFormEditPost(BuildBlacklistData, BuildBlacklistLogic, WuiAdminBuildBlacklist,
     1064                                               self.ksActionBuildBlacklist)
     1065
     1066
     1067    #
     1068    # Failure Category actions
     1069    #
     1070    def _actionFailureCategoryList(self):
     1071        """ Action wrapper. """
     1072        from testmanager.core.failurecategory           import FailureCategoryLogic;
     1073        from testmanager.webui.wuiadminfailurecategory  import WuiFailureCategoryList;
     1074        return self._actionGenericListing(FailureCategoryLogic, WuiFailureCategoryList);
     1075
     1076    def _actionFailureCategoryAdd(self):
     1077        """ Action wrapper. """
     1078        from testmanager.core.failurecategory           import FailureCategoryData, FailureCategoryLogic;
     1079        from testmanager.webui.wuiadminfailurecategory  import WuiFailureCategory;
     1080        return self._actionGenericFormAdd(FailureCategoryData, WuiFailureCategory);
     1081
     1082    def _actionFailureCategoryAddPost(self):
     1083        """ Action wrapper. """
     1084        from testmanager.core.failurecategory           import FailureCategoryData, FailureCategoryLogic;
     1085        from testmanager.webui.wuiadminfailurecategory  import WuiFailureCategory;
     1086        return self._actionGenericFormAddPost(FailureCategoryData, FailureCategoryLogic, WuiFailureCategory,
     1087                                              self.ksActionFailureCategoryList)
     1088
     1089    def _actionFailureCategoryDetails(self):
     1090        """ Action wrapper. """
     1091        from testmanager.core.failurecategory           import FailureCategoryData, FailureCategoryLogic;
     1092        from testmanager.webui.wuiadminfailurecategory  import WuiFailureCategory;
     1093        return self._actionGenericFormDetails(FailureCategoryData, FailureCategoryLogic, WuiFailureCategory);
     1094
     1095
     1096    def _actionFailureCategoryDoRemove(self):
     1097        """ Action wrapper. """
     1098        from testmanager.core.failurecategory           import FailureCategoryData, FailureCategoryLogic;
     1099        from testmanager.webui.wuiadminfailurecategory  import WuiFailureCategory;
     1100        return self._actionGenericDoRemove(FailureCategoryLogic, FailureCategoryData.ksParam_idFailureCategory,
     1101                                           self.ksActionFailureCategoryList);
     1102
     1103    def _actionFailureCategoryEdit(self):
     1104        """ Action wrapper. """
     1105        from testmanager.core.failurecategory           import FailureCategoryData, FailureCategoryLogic;
     1106        from testmanager.webui.wuiadminfailurecategory  import WuiFailureCategory;
     1107        return self._actionGenericFormEdit(FailureCategoryData, WuiFailureCategory,
     1108                                           FailureCategoryData.ksParam_idFailureCategory);
     1109
     1110    def _actionFailureCategoryEditPost(self):
     1111        """ Action wrapper. """
     1112        from testmanager.core.failurecategory           import FailureCategoryData, FailureCategoryLogic;
     1113        from testmanager.webui.wuiadminfailurecategory  import WuiFailureCategory;
     1114        return self._actionGenericFormEditPost(FailureCategoryData, FailureCategoryLogic, WuiFailureCategory,
     1115                                               self.ksActionFailureCategoryList);
     1116
     1117    #
     1118    # Failure Reason actions
     1119    #
     1120    def _actionFailureReasonList(self):
     1121        """ Action wrapper. """
     1122        from testmanager.core.failurereason             import FailureReasonLogic;
     1123        from testmanager.webui.wuiadminfailurereason    import WuiAdminFailureReasonList;
     1124        return self._actionGenericListing(FailureReasonLogic, WuiAdminFailureReasonList)
     1125
     1126    def _actionFailureReasonAdd(self):
     1127        """ Action wrapper. """
     1128        from testmanager.core.failurereason             import FailureReasonData, FailureReasonLogic;
     1129        from testmanager.webui.wuiadminfailurereason    import WuiAdminFailureReason;
     1130        return self._actionGenericFormAdd(FailureReasonData, WuiAdminFailureReason);
     1131
     1132    def _actionFailureReasonAddPost(self):
     1133        """ Action wrapper. """
     1134        from testmanager.core.failurereason             import FailureReasonData, FailureReasonLogic;
     1135        from testmanager.webui.wuiadminfailurereason    import WuiAdminFailureReason;
     1136        return self._actionGenericFormAddPost(FailureReasonData, FailureReasonLogic, WuiAdminFailureReason,
     1137                                              self.ksActionFailureReasonList);
     1138
     1139    def _actionFailureReasonDetails(self):
     1140        """ Action wrapper. """
     1141        from testmanager.core.failurereason             import FailureReasonData, FailureReasonLogic;
     1142        from testmanager.webui.wuiadminfailurereason    import WuiAdminFailureReason;
     1143        return self._actionGenericFormDetails(FailureReasonData, FailureReasonLogic, WuiAdminFailureReason);
     1144
     1145    def _actionFailureReasonDoRemove(self):
     1146        """ Action wrapper. """
     1147        from testmanager.core.failurereason             import FailureReasonData, FailureReasonLogic;
     1148        from testmanager.webui.wuiadminfailurereason    import WuiAdminFailureReason;
     1149        return self._actionGenericDoRemove(FailureReasonLogic, FailureReasonData.ksParam_idFailureReason,
     1150                                           self.ksActionFailureReasonList);
     1151
     1152    def _actionFailureReasonEdit(self):
     1153        """ Action wrapper. """
     1154        from testmanager.core.failurereason             import FailureReasonData, FailureReasonLogic;
     1155        from testmanager.webui.wuiadminfailurereason    import WuiAdminFailureReason;
     1156        return self._actionGenericFormEdit(FailureReasonData, WuiAdminFailureReason);
     1157
     1158
     1159    def _actionFailureReasonEditPost(self):
     1160        """ Action wrapper. """
     1161        from testmanager.core.failurereason             import FailureReasonData, FailureReasonLogic;
     1162        from testmanager.webui.wuiadminfailurereason    import WuiAdminFailureReason;
     1163        return self._actionGenericFormEditPost(FailureReasonData, FailureReasonLogic, WuiAdminFailureReason,
     1164                                               self.ksActionFailureReasonList)
     1165
     1166
     1167    #
     1168    # Overrides.
     1169    #
     1170
    7171171    def _generatePage(self):
    7181172        """Override parent handler in order to change page titte"""
  • trunk/src/VBox/ValidationKit/testmanager/webui/wuimain.py

    r61416 r61422  
    3333# Validation Kit imports.
    3434from testmanager                            import config;
     35from testmanager.core.base                  import TMExceptionBase, TMTooManyRows;
    3536from testmanager.webui.wuibase              import WuiDispatcherBase, WuiException;
    3637from testmanager.webui.wuicontentbase       import WuiTmLink;
    37 from testmanager.core.report                import ReportLazyModel, ReportGraphModel, ReportModelBase;
    38 from testmanager.core.testresults           import TestResultLogic, TestResultFileDataEx, TestResultData;
    39 from testmanager.core.base                  import TMExceptionBase, TMTooManyRows;
    40 from testmanager.core.testset               import TestSetData, TestSetLogic;
    41 from testmanager.core.build                 import BuildDataEx;
    42 from testmanager.core.testbox               import TestBoxData
    43 from testmanager.core.testgroup             import TestGroupData;
    44 from testmanager.core.testcase              import TestCaseDataEx
    45 from testmanager.core.testcaseargs          import TestCaseArgsDataEx
    46 from testmanager.core.vcsrevisions          import VcsRevisionLogic;
    4738from common                                 import webutils, utils;
     39
    4840
    4941
     
    197189    def __init__(self, oSrvGlue):
    198190        WuiDispatcherBase.__init__(self, oSrvGlue, self.ksScriptName);
    199 
    200191        self._sTemplate     = 'template.html'
    201192
    202193        #
    203194        # Populate the action dispatcher dictionary.
     195        # Lambda is forbidden because of readability, speed and reducing number of imports.
    204196        #
    205 
    206         # Use short form to avoid hitting the right margin (130) when using lambda.
    207         d = self._dDispatch;  # pylint: disable=C0103
    208 
    209         from testmanager.webui.wuitestresult import WuiGroupedResultList;
    210         #d[self.ksActionResultsUnGrouped]            = lambda: self._actionResultsListing(TestResultLogic, WuiGroupedResultList)
    211         d[self.ksActionResultsUnGrouped]            = lambda: self._actionGroupedResultsListing(
    212                                                                   TestResultLogic.ksResultsGroupingTypeNone,
    213                                                                   TestResultLogic,
    214                                                                   WuiGroupedResultList)
    215 
    216         d[self.ksActionResultsGroupedByTestGroup]   = lambda: self._actionGroupedResultsListing(
    217                                                                   TestResultLogic.ksResultsGroupingTypeTestGroup,
    218                                                                   TestResultLogic,
    219                                                                   WuiGroupedResultList)
    220 
    221         d[self.ksActionResultsGroupedByBuildRev]    = lambda: self._actionGroupedResultsListing(
    222                                                                   TestResultLogic.ksResultsGroupingTypeBuildRev,
    223                                                                   TestResultLogic,
    224                                                                   WuiGroupedResultList)
    225 
    226         d[self.ksActionResultsGroupedByTestBox]     = lambda: self._actionGroupedResultsListing(
    227                                                                   TestResultLogic.ksResultsGroupingTypeTestBox,
    228                                                                   TestResultLogic,
    229                                                                 WuiGroupedResultList)
    230 
    231         d[self.ksActionResultsGroupedByTestCase]    = lambda: self._actionGroupedResultsListing(
    232                                                                  TestResultLogic.ksResultsGroupingTypeTestCase,
    233                                                                  TestResultLogic,
    234                                                                  WuiGroupedResultList)
    235 
    236         d[self.ksActionResultsGroupedBySchedGroup]  = lambda: self._actionGroupedResultsListing(
    237                                                                  TestResultLogic.ksResultsGroupingTypeSchedGroup,
    238                                                                  TestResultLogic,
    239                                                                  WuiGroupedResultList)
    240 
    241         d[self.ksActionTestSetDetails]              = self._actionTestSetDetails;
    242         d[self.ksActionTestSetDetailsFromResult]    = self._actionTestSetDetailsFromResult;
    243 
    244         d[self.ksActionTestResultFailureAdd]        = self._actionTestResultFailureAdd;
    245         d[self.ksActionTestResultFailureAddPost]    = self._actionTestResultFailureAddPost;
    246         d[self.ksActionTestResultFailureDetails]    = self._actionTestResultFailureDetails;
    247         d[self.ksActionTestResultFailureEdit]       = self._actionTestResultFailureEdit;
    248         d[self.ksActionTestResultFailureEditPost]   = self._actionTestResultFailureEditPost;
    249 
    250         d[self.ksActionViewLog]                     = self.actionViewLog;
    251         d[self.ksActionGetFile]                     = self.actionGetFile;
    252 
    253         from testmanager.webui.wuireport import WuiReportSummary, WuiReportSuccessRate, WuiReportTestCaseFailures, \
    254                                                 WuiReportFailureReasons;
    255         d[self.ksActionReportSummary]          = lambda: self._actionGenericReport(ReportLazyModel, WuiReportSummary);
    256         d[self.ksActionReportRate]             = lambda: self._actionGenericReport(ReportLazyModel, WuiReportSuccessRate);
    257         d[self.ksActionReportTestCaseFailures] = lambda: self._actionGenericReport(ReportLazyModel, WuiReportTestCaseFailures);
    258         d[self.ksActionReportFailureReasons]   = lambda: self._actionGenericReport(ReportLazyModel, WuiReportFailureReasons);
    259         d[self.ksActionGraphWiz]               = self._actionGraphWiz;
    260 
    261         d[self.ksActionVcsHistoryTooltip]      = self._actionVcsHistoryTooltip;
     197        self._dDispatch[self.ksActionResultsUnGrouped]              = self._actionResultsUnGrouped;
     198        self._dDispatch[self.ksActionResultsGroupedByTestGroup]     = self._actionResultsGroupedByTestGroup;
     199        self._dDispatch[self.ksActionResultsGroupedByBuildRev]      = self._actionResultsGroupedByBuildRev;
     200        self._dDispatch[self.ksActionResultsGroupedByTestBox]       = self._actionResultsGroupedByTestBox;
     201        self._dDispatch[self.ksActionResultsGroupedByTestCase]      = self._actionResultsGroupedByTestCase;
     202        self._dDispatch[self.ksActionResultsGroupedBySchedGroup]    = self._actionResultsGroupedBySchedGroup;
     203
     204        self._dDispatch[self.ksActionTestSetDetails]                = self._actionTestSetDetails;
     205        self._dDispatch[self.ksActionTestSetDetailsFromResult]      = self._actionTestSetDetailsFromResult;
     206
     207        self._dDispatch[self.ksActionTestResultFailureAdd]          = self._actionTestResultFailureAdd;
     208        self._dDispatch[self.ksActionTestResultFailureAddPost]      = self._actionTestResultFailureAddPost;
     209        self._dDispatch[self.ksActionTestResultFailureDetails]      = self._actionTestResultFailureDetails;
     210        self._dDispatch[self.ksActionTestResultFailureEdit]         = self._actionTestResultFailureEdit;
     211        self._dDispatch[self.ksActionTestResultFailureEditPost]     = self._actionTestResultFailureEditPost;
     212
     213        self._dDispatch[self.ksActionViewLog]                       = self._actionViewLog;
     214        self._dDispatch[self.ksActionGetFile]                       = self._actionGetFile;
     215
     216        self._dDispatch[self.ksActionReportSummary]                 = self._actionReportSummary;
     217        self._dDispatch[self.ksActionReportRate]                    = self._actionReportRate;
     218        self._dDispatch[self.ksActionReportTestCaseFailures]        = self._actionReportTestCaseFailures;
     219        self._dDispatch[self.ksActionReportFailureReasons]          = self._actionReportFailureReasons;
     220        self._dDispatch[self.ksActionGraphWiz]                      = self._actionGraphWiz;
     221
     222        self._dDispatch[self.ksActionVcsHistoryTooltip]             = self._actionVcsHistoryTooltip;
    262223
    263224        # Legacy.
    264         d['TestResultDetails']                 = d[self.ksActionTestSetDetails];
     225        self._dDispatch['TestResultDetails']                        = self._dDispatch[self.ksActionTestSetDetails];
    265226
    266227
     
    340301
    341302
     303    #
     304    # Overriding parent methods.
     305    #
     306
     307    def _generatePage(self):
     308        """Override parent handler in order to change page title."""
     309        if self._sPageTitle is not None:
     310            self._sPageTitle = 'Test Results - ' + self._sPageTitle
     311
     312        return WuiDispatcherBase._generatePage(self)
     313
    342314    def _actionDefault(self):
    343315        """Show the default admin page."""
    344316        from testmanager.webui.wuitestresult import WuiGroupedResultList;
     317        from testmanager.core.testresults    import TestResultLogic;
    345318        self._sAction = self.ksActionResultsUnGrouped
    346319        return self._actionGroupedResultsListing(TestResultLogic.ksResultsGroupingTypeNone,
     
    367340        Generate HTML code for the sort by selector.
    368341        """
     342        from testmanager.core.testresults    import TestResultLogic;
     343
    369344        if self.ksParamTestResultsSortBy in dParams:
    370345            enmResultSortBy = dParams[self.ksParamTestResultsSortBy];
     
    718693        return sHtml;
    719694
     695
    720696    #
    721697    # The rest of stuff
     
    733709        oListContentType is a child of WuiListContentBase.
    734710        """
     711        from testmanager.core.testresults    import TestResultLogic;
     712
    735713        cItemsPerPage       = self.getIntParam(self.ksParamItemsPerPage,  iMin =  2, iMax =   9999, iDefault = 128);
    736714        iPage               = self.getIntParam(self.ksParamPageNo,        iMin =  0, iMax = 999999, iDefault = 0);
     
    872850        return True;
    873851
    874     def _generatePage(self):
    875         """Override parent handler in order to change page title."""
    876         if self._sPageTitle is not None:
    877             self._sPageTitle = 'Test Results - ' + self._sPageTitle
    878 
    879         return WuiDispatcherBase._generatePage(self)
     852
     853    def _actionResultsUnGrouped(self):
     854        """ Action wrapper. """
     855        from testmanager.webui.wuitestresult        import WuiGroupedResultList;
     856        from testmanager.core.testresults           import TestResultLogic;
     857        #return self._actionResultsListing(TestResultLogic, WuiGroupedResultList)?
     858        return self._actionGroupedResultsListing(TestResultLogic.ksResultsGroupingTypeNone,
     859                                                 TestResultLogic, WuiGroupedResultList);
     860
     861    def _actionResultsGroupedByTestGroup(self):
     862        """ Action wrapper. """
     863        from testmanager.webui.wuitestresult        import WuiGroupedResultList;
     864        from testmanager.core.testresults           import TestResultLogic;
     865        return self._actionGroupedResultsListing(TestResultLogic.ksResultsGroupingTypeTestGroup,
     866                                                 TestResultLogic, WuiGroupedResultList);
     867
     868    def _actionResultsGroupedByBuildRev(self):
     869        """ Action wrapper. """
     870        from testmanager.webui.wuitestresult        import WuiGroupedResultList;
     871        from testmanager.core.testresults           import TestResultLogic;
     872        return self._actionGroupedResultsListing(TestResultLogic.ksResultsGroupingTypeBuildRev,
     873                                                 TestResultLogic, WuiGroupedResultList);
     874
     875    def _actionResultsGroupedByTestBox(self):
     876        """ Action wrapper. """
     877        from testmanager.webui.wuitestresult        import WuiGroupedResultList;
     878        from testmanager.core.testresults           import TestResultLogic;
     879        return self._actionGroupedResultsListing(TestResultLogic.ksResultsGroupingTypeTestBox,
     880                                                 TestResultLogic, WuiGroupedResultList);
     881
     882    def _actionResultsGroupedByTestCase(self):
     883        """ Action wrapper. """
     884        from testmanager.webui.wuitestresult        import WuiGroupedResultList;
     885        from testmanager.core.testresults           import TestResultLogic;
     886        return self._actionGroupedResultsListing(TestResultLogic.ksResultsGroupingTypeTestCase,
     887                                                 TestResultLogic, WuiGroupedResultList);
     888
     889    def _actionResultsGroupedBySchedGroup(self):
     890        """ Action wrapper. """
     891        from testmanager.webui.wuitestresult        import WuiGroupedResultList;
     892        from testmanager.core.testresults           import TestResultLogic;
     893        return self._actionGroupedResultsListing(TestResultLogic.ksResultsGroupingTypeSchedGroup,
     894                                                 TestResultLogic, WuiGroupedResultList);
     895
    880896
    881897    def _actionTestSetDetailsCommon(self, idTestSet):
    882898        """Show test case execution result details."""
     899        from testmanager.core.build          import BuildDataEx;
     900        from testmanager.core.testbox        import TestBoxData;
     901        from testmanager.core.testcase       import TestCaseDataEx;
     902        from testmanager.core.testcaseargs   import TestCaseArgsDataEx;
     903        from testmanager.core.testgroup      import TestGroupData;
     904        from testmanager.core.testresults    import TestResultLogic;
     905        from testmanager.core.testset        import TestSetData;
    883906        from testmanager.webui.wuitestresult import WuiTestResult;
    884907
     
    916939    def _actionTestSetDetails(self):
    917940        """Show test case execution result details."""
     941        from testmanager.core.testset        import TestSetData;
     942
    918943        idTestSet = self.getIntParam(TestSetData.ksParam_idTestSet);
    919944        return self._actionTestSetDetailsCommon(idTestSet);
     
    921946    def _actionTestSetDetailsFromResult(self):
    922947        """Show test case execution result details."""
     948        from testmanager.core.testresults    import TestResultData;
     949        from testmanager.core.testset        import TestSetData;
    923950        idTestResult = self.getIntParam(TestSetData.ksParam_idTestResult);
    924951        oTestResultData = TestResultData().initFromDbWithId(self._oDb, idTestResult);
     
    963990                                               WuiTestResultFailure, self.ksActionResultsUnGrouped);
    964991
    965     def actionViewLog(self):
     992    def _actionViewLog(self):
    966993        """
    967994        Log viewer action.
    968995        """
     996        from testmanager.core.testresults   import TestResultLogic, TestResultFileDataEx;
     997        from testmanager.core.testset       import TestSetData, TestSetLogic;
    969998        from testmanager.webui.wuilogviewer import WuiLogViewer;
     999
    9701000        self._sTemplate = 'template-details.html'; ## @todo create new template (background color, etc)
    9711001        idTestSet       = self.getIntParam(self.ksParamLogSetId,     iMin = 1);
     
    9881018        return True;
    9891019
    990     def actionGetFile(self):
     1020    def _actionGetFile(self):
    9911021        """
    9921022        Get file action.
    9931023        """
     1024        from testmanager.core.testset           import TestSetData, TestSetLogic;
     1025        from testmanager.core.testresults       import TestResultFileDataEx;
     1026
    9941027        idTestSet       = self.getIntParam(self.ksParamGetFileSetId,        iMin = 1);
    9951028        idFile          = self.getIntParam(self.ksParamGetFileId,           iMin = 0, iDefault = 0);
     
    10301063        oModelType is a child of ReportModelBase.
    10311064        """
     1065        from testmanager.core.report                import ReportModelBase;
     1066
    10321067        tsEffective     = self.getEffectiveDateParam();
    10331068        cPeriods        = self.getIntParam(self.ksParamReportPeriods,       iMin = 2, iMax =   99,  iDefault = 7);
     
    10591094        return True;
    10601095
     1096    def _actionReportSummary(self):
     1097        """ Action wrapper. """
     1098        from testmanager.core.report                import ReportLazyModel;
     1099        from testmanager.webui.wuireport            import WuiReportSummary;
     1100        return self._actionGenericReport(ReportLazyModel, WuiReportSummary);
     1101
     1102    def _actionReportRate(self):
     1103        """ Action wrapper. """
     1104        from testmanager.core.report                import ReportLazyModel;
     1105        from testmanager.webui.wuireport            import WuiReportSuccessRate;
     1106        return self._actionGenericReport(ReportLazyModel, WuiReportSuccessRate);
     1107
     1108    def _actionReportTestCaseFailures(self):
     1109        """ Action wrapper. """
     1110        from testmanager.core.report                import ReportLazyModel;
     1111        from testmanager.webui.wuireport            import WuiReportTestCaseFailures;
     1112        return self._actionGenericReport(ReportLazyModel, WuiReportTestCaseFailures);
     1113
     1114    def _actionReportFailureReasons(self):
     1115        """ Action wrapper. """
     1116        from testmanager.core.report                import ReportLazyModel;
     1117        from testmanager.webui.wuireport            import WuiReportFailureReasons;
     1118        return self._actionGenericReport(ReportLazyModel, WuiReportFailureReasons);
     1119
    10611120    def _actionGraphWiz(self):
    10621121        """
    10631122        Graph wizard action.
    10641123        """
    1065         from testmanager.webui.wuigraphwiz import WuiGraphWiz;
     1124        from testmanager.core.report                import ReportModelBase, ReportGraphModel;
     1125        from testmanager.webui.wuigraphwiz          import WuiGraphWiz;
    10661126        self._sTemplate = 'template-graphwiz.html';
    10671127
     
    11281188        Version control system history.
    11291189        """
     1190        from testmanager.webui.wuivcshistory import WuiVcsHistoryTooltip;
     1191        from testmanager.core.vcsrevisions   import VcsRevisionLogic;
     1192
    11301193        self._sTemplate = 'template-tooltip.html';
    1131         from testmanager.webui.wuivcshistory import WuiVcsHistoryTooltip;
    1132 
    11331194        iRevision   = self.getIntParam(self.ksParamVcsHistoryRevision, iMin = 0, iMax = 999999999);
    11341195        sRepository = self.getStringParam(self.ksParamVcsHistoryRepository);
Note: See TracChangeset for help on using the changeset viewer.

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette