wuiadmin.py revision cf22150eaeeb72431bf1cf65c309a431454fb22b
d7097a142464c500766b2cb3d564986e0a072799vboxsync# -*- coding: utf-8 -*-
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync# $Id$
d7097a142464c500766b2cb3d564986e0a072799vboxsync
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync"""
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsyncTest Manager Core - WUI - Admin Main page.
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync"""
d7097a142464c500766b2cb3d564986e0a072799vboxsync
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync__copyright__ = \
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync"""
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsyncCopyright (C) 2012-2014 Oracle Corporation
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsyncThis file is part of VirtualBox Open Source Edition (OSE), as
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsyncavailable from http://www.virtualbox.org. This file is free software;
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsyncyou can redistribute it and/or modify it under the terms of the GNU
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsyncGeneral Public License (GPL) as published by the Free Software
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsyncFoundation, in version 2 as it comes in the "COPYING" file of the
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsyncVirtualBox OSE distribution. VirtualBox OSE is distributed in the
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsynchope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsyncThe contents of this file may alternatively be used under the terms
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsyncof the Common Development and Distribution License Version 1.0
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync(CDDL) only, as it comes in the "COPYING.CDDL" file of the
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsyncVirtualBox OSE distribution, in which case the provisions of the
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsyncCDDL are applicable instead of those of the GPL.
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsyncYou may elect to license modified versions of this file under the
43747b1f0bc8302a238fb35e55857a5e9aa1933dvboxsyncterms and conditions of either the GPL or the CDDL or both.
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync"""
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync__version__ = "$Revision$"
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync# Standard python imports.
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsyncimport cgitb;
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsyncimport sys;
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync# Validation Kit imports.
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsyncfrom common import webutils
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsyncfrom testmanager import config;
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsyncfrom testmanager.core.buildsource import BuildSourceLogic, BuildSourceData
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsyncfrom testmanager.core.build import BuildCategoryLogic, BuildCategoryData, BuildLogic, BuildData;
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsyncfrom testmanager.core.globalresource import GlobalResourceLogic, GlobalResourceData
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsyncfrom testmanager.core.schedulerbase import SchedulerBase
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsyncfrom testmanager.core.schedgroup import SchedGroupLogic, SchedGroupData, SchedGroupDataEx
dcc035155cdf232a3d79024f475c2d4448981e85vboxsyncfrom testmanager.core.systemlog import SystemLogLogic
dcc035155cdf232a3d79024f475c2d4448981e85vboxsyncfrom testmanager.core.testbox import TestBoxData, TestBoxLogic
dcc035155cdf232a3d79024f475c2d4448981e85vboxsyncfrom testmanager.core.testcase import TestCaseLogic, TestCaseData, TestCaseDataEx
dcc035155cdf232a3d79024f475c2d4448981e85vboxsyncfrom testmanager.core.useraccount import UserAccountLogic, UserAccountData
dcc035155cdf232a3d79024f475c2d4448981e85vboxsyncfrom testmanager.core.testgroup import TestGroupLogic, TestGroupDataEx;
dcc035155cdf232a3d79024f475c2d4448981e85vboxsyncfrom testmanager.core.failurecategory import FailureCategoryLogic, FailureCategoryData
dcc035155cdf232a3d79024f475c2d4448981e85vboxsyncfrom testmanager.core.failurereason import FailureReasonLogic, FailureReasonData
dcc035155cdf232a3d79024f475c2d4448981e85vboxsyncfrom testmanager.core.buildblacklist import BuildBlacklistLogic, BuildBlacklistData
dcc035155cdf232a3d79024f475c2d4448981e85vboxsyncfrom testmanager.webui.wuibase import WuiDispatcherBase, WuiException
dcc035155cdf232a3d79024f475c2d4448981e85vboxsyncfrom testmanager.webui.wuiadminbuild import WuiAdminBuild, WuiAdminBuildList
dcc035155cdf232a3d79024f475c2d4448981e85vboxsyncfrom testmanager.webui.wuiadminsystemlog import WuiAdminSystemLogList
dcc035155cdf232a3d79024f475c2d4448981e85vboxsyncfrom testmanager.webui.wuiadminbuildsource import WuiAdminBuildSrc, WuiAdminBuildSrcList;
dcc035155cdf232a3d79024f475c2d4448981e85vboxsyncfrom testmanager.webui.wuiadminbuildcategory import WuiAdminBuildCat, WuiAdminBuildCatList;
dcc035155cdf232a3d79024f475c2d4448981e85vboxsyncfrom testmanager.webui.wuiadminglobalrsrc import WuiGlobalResource, WuiGlobalResourceList
dcc035155cdf232a3d79024f475c2d4448981e85vboxsyncfrom testmanager.webui.wuiadmintestbox import WuiTestBoxList, WuiTestBox
dcc035155cdf232a3d79024f475c2d4448981e85vboxsyncfrom testmanager.webui.wuiadmintestcase import WuiTestCase, WuiTestCaseList
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsyncfrom testmanager.webui.wuiadminuseraccount import WuiUserAccountList, WuiUserAccount
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsyncfrom testmanager.webui.wuiadmintestgroup import WuiTestGroup, WuiTestGroupList;
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsyncfrom testmanager.webui.wuiadminschedgroup import WuiSchedGroup, WuiAdminSchedGroupList;
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsyncfrom testmanager.webui.wuiadminbuildblacklist import WuiAdminBuildBlacklist, WuiAdminListOfBlacklistItems
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsyncfrom testmanager.webui.wuifailurecategory import WuiFailureCategory, WuiFailureCategoryList
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsyncfrom testmanager.webui.wuiadminfailurereason import WuiAdminFailureReason, WuiAdminFailureReasonList
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsyncclass WuiAdmin(WuiDispatcherBase):
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync """
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync WUI Admin main page.
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync """
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync ## The name of the script.
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync ksScriptName = 'admin.py'
dcc035155cdf232a3d79024f475c2d4448981e85vboxsync
dcc035155cdf232a3d79024f475c2d4448981e85vboxsync
dcc035155cdf232a3d79024f475c2d4448981e85vboxsync ## @name Actions
dcc035155cdf232a3d79024f475c2d4448981e85vboxsync ## @{
dcc035155cdf232a3d79024f475c2d4448981e85vboxsync ksActionSystemLogList = 'SystemLogList'
dcc035155cdf232a3d79024f475c2d4448981e85vboxsync
dcc035155cdf232a3d79024f475c2d4448981e85vboxsync ksActionUserList = 'UserList'
dcc035155cdf232a3d79024f475c2d4448981e85vboxsync ksActionUserAdd = 'UserAdd'
dcc035155cdf232a3d79024f475c2d4448981e85vboxsync ksActionUserEdit = 'UserEdit'
dcc035155cdf232a3d79024f475c2d4448981e85vboxsync ksActionUserAddPost = 'UserAddPost'
dcc035155cdf232a3d79024f475c2d4448981e85vboxsync ksActionUserEditPost = 'UserEditPost'
dcc035155cdf232a3d79024f475c2d4448981e85vboxsync ksActionUserDelPost = 'UserDelPost'
dcc035155cdf232a3d79024f475c2d4448981e85vboxsync
dcc035155cdf232a3d79024f475c2d4448981e85vboxsync ksActionTestBoxList = 'TestBoxList'
dcc035155cdf232a3d79024f475c2d4448981e85vboxsync ksActionTestBoxListPost = 'TestBoxListPost'
dcc035155cdf232a3d79024f475c2d4448981e85vboxsync ksActionTestBoxAdd = 'TestBoxAdd'
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync ksActionTestBoxAddPost = 'TestBoxAddPost'
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync ksActionTestBoxEdit = 'TestBoxEdit'
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync ksActionTestBoxEditPost = 'TestBoxEditPost'
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync ksActionTestBoxDetails = 'TestBoxDetails'
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync ksActionTestBoxRemovePost = 'TestBoxRemove'
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync ksActionTestBoxesRegenQueues = 'TestBoxesRegenQueues';
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync ksActionTestCaseList = 'TestCaseList'
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync ksActionTestCaseAdd = 'TestCaseAdd'
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync ksActionTestCaseAddPost = 'TestCaseAddPost'
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync ksActionTestCaseClone = 'TestCaseClone'
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync ksActionTestCaseDetails = 'TestCaseDetails'
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync ksActionTestCaseEdit = 'TestCaseEdit'
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync ksActionTestCaseEditPost = 'TestCaseEditPost'
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync ksActionTestCaseDoRemove = 'TestCaseDoRemove'
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync ksActionGlobalRsrcShowAll = 'GlobalRsrcShowAll'
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync ksActionGlobalRsrcShowAdd = 'GlobalRsrcShowAdd'
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync ksActionGlobalRsrcShowEdit = 'GlobalRsrcShowEdit'
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync ksActionGlobalRsrcAdd = 'GlobalRsrcAddPost'
dcc035155cdf232a3d79024f475c2d4448981e85vboxsync ksActionGlobalRsrcEdit = 'GlobalRsrcEditPost'
dcc035155cdf232a3d79024f475c2d4448981e85vboxsync ksActionGlobalRsrcDel = 'GlobalRsrcDelPost'
dcc035155cdf232a3d79024f475c2d4448981e85vboxsync
dcc035155cdf232a3d79024f475c2d4448981e85vboxsync ksActionBuildList = 'BuildList'
dcc035155cdf232a3d79024f475c2d4448981e85vboxsync ksActionBuildAdd = 'BuildAdd'
dcc035155cdf232a3d79024f475c2d4448981e85vboxsync ksActionBuildAddPost = 'BuildAddPost'
dcc035155cdf232a3d79024f475c2d4448981e85vboxsync ksActionBuildClone = 'BuildClone'
dcc035155cdf232a3d79024f475c2d4448981e85vboxsync ksActionBuildDetails = 'BuildDetails'
dcc035155cdf232a3d79024f475c2d4448981e85vboxsync ksActionBuildDoRemove = 'BuildDoRemove'
dcc035155cdf232a3d79024f475c2d4448981e85vboxsync ksActionBuildEdit = 'BuildEdit'
dcc035155cdf232a3d79024f475c2d4448981e85vboxsync ksActionBuildEditPost = 'BuildEditPost'
dcc035155cdf232a3d79024f475c2d4448981e85vboxsync
dcc035155cdf232a3d79024f475c2d4448981e85vboxsync ksActionBuildBlacklist = 'BuildBlacklist';
dcc035155cdf232a3d79024f475c2d4448981e85vboxsync ksActionBuildBlacklistAdd = 'BuildBlacklistAdd';
dcc035155cdf232a3d79024f475c2d4448981e85vboxsync ksActionBuildBlacklistAddPost = 'BuildBlacklistAddPost';
dcc035155cdf232a3d79024f475c2d4448981e85vboxsync ksActionBuildBlacklistClone = 'BuildBlacklistClone';
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync ksActionBuildBlacklistDetails = 'BuildBlacklistDetails';
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync ksActionBuildBlacklistDoRemove = 'BuildBlacklistDoRemove';
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync ksActionBuildBlacklistEdit = 'BuildBlacklistEdit';
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync ksActionBuildBlacklistEditPost = 'BuildBlacklistEditPost';
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync ksActionFailureCategoryList = 'FailureCategoryList'
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync ksActionFailureCategoryShowAdd = 'FailureCategoryShowAdd'
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync ksActionFailureCategoryShowEdit = 'FailureCategoryShowEdit'
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync ksActionFailureCategoryAdd = 'FailureCategoryAdd'
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync ksActionFailureCategoryEdit = 'FailureCategoryEdit'
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync ksActionFailureCategoryDel = 'FailureCategoryDel'
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync ksActionFailureReasonList = 'FailureReasonList'
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync ksActionFailureReasonShowAdd = 'FailureReasonShowAdd'
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync ksActionFailureReasonShowEdit = 'FailureReasonShowEdit'
dcc035155cdf232a3d79024f475c2d4448981e85vboxsync ksActionFailureReasonAdd = 'FailureReasonAdd'
dcc035155cdf232a3d79024f475c2d4448981e85vboxsync ksActionFailureReasonEdit = 'FailureReasonEdit'
dcc035155cdf232a3d79024f475c2d4448981e85vboxsync ksActionFailureReasonDel = 'FailureReasonDel'
dcc035155cdf232a3d79024f475c2d4448981e85vboxsync
dcc035155cdf232a3d79024f475c2d4448981e85vboxsync ksActionBuildSrcList = 'BuildSrcList'
dcc035155cdf232a3d79024f475c2d4448981e85vboxsync ksActionBuildSrcAdd = 'BuildSrcAdd'
dcc035155cdf232a3d79024f475c2d4448981e85vboxsync ksActionBuildSrcAddPost = 'BuildSrcAddPost'
dcc035155cdf232a3d79024f475c2d4448981e85vboxsync ksActionBuildSrcClone = 'BuildSrcClone'
dcc035155cdf232a3d79024f475c2d4448981e85vboxsync ksActionBuildSrcDetails = 'BuildSrcDetails'
dcc035155cdf232a3d79024f475c2d4448981e85vboxsync ksActionBuildSrcEdit = 'BuildSrcEdit'
dcc035155cdf232a3d79024f475c2d4448981e85vboxsync ksActionBuildSrcEditPost = 'BuildSrcEditPost'
dcc035155cdf232a3d79024f475c2d4448981e85vboxsync ksActionBuildSrcDoRemove = 'BuildSrcDoRemove'
dcc035155cdf232a3d79024f475c2d4448981e85vboxsync
dcc035155cdf232a3d79024f475c2d4448981e85vboxsync ksActionBuildCategoryList = 'BuildCategoryList'
dcc035155cdf232a3d79024f475c2d4448981e85vboxsync ksActionBuildCategoryAdd = 'BuildCategoryAdd'
dcc035155cdf232a3d79024f475c2d4448981e85vboxsync ksActionBuildCategoryAddPost = 'BuildCategoryAddPost'
dcc035155cdf232a3d79024f475c2d4448981e85vboxsync ksActionBuildCategoryClone = 'BuildCategoryClone';
dcc035155cdf232a3d79024f475c2d4448981e85vboxsync ksActionBuildCategoryDetails = 'BuildCategoryDetails';
dcc035155cdf232a3d79024f475c2d4448981e85vboxsync ksActionBuildCategoryDoRemove = 'BuildCategoryDoRemove';
dcc035155cdf232a3d79024f475c2d4448981e85vboxsync
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync ksActionTestGroupList = 'TestGroupList'
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync ksActionTestGroupAdd = 'TestGroupAdd'
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync ksActionTestGroupAddPost = 'TestGroupAddPost'
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync ksActionTestGroupClone = 'TestGroupClone'
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync ksActionTestGroupDetails = 'TestGroupDetails'
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync ksActionTestGroupDoRemove = 'TestGroupDoRemove'
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync ksActionTestGroupEdit = 'TestGroupEdit'
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync ksActionTestGroupEditPost = 'TestGroupEditPost'
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync ksActionTestCfgRegenQueues = 'TestCfgRegenQueues'
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync ksActionSchedGroupList = 'SchedGroupList'
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync ksActionSchedGroupAdd = 'SchedGroupAdd';
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync ksActionSchedGroupAddPost = 'SchedGroupAddPost';
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync ksActionSchedGroupClone = 'SchedGroupClone';
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync ksActionSchedGroupDetails = 'SchedGroupDetails';
dcc035155cdf232a3d79024f475c2d4448981e85vboxsync ksActionSchedGroupDoRemove = 'SchedGroupDel';
dcc035155cdf232a3d79024f475c2d4448981e85vboxsync ksActionSchedGroupEdit = 'SchedGroupEdit';
dcc035155cdf232a3d79024f475c2d4448981e85vboxsync ksActionSchedGroupEditPost = 'SchedGroupEditPost';
dcc035155cdf232a3d79024f475c2d4448981e85vboxsync ## @}
dcc035155cdf232a3d79024f475c2d4448981e85vboxsync
dcc035155cdf232a3d79024f475c2d4448981e85vboxsync def __init__(self, oSrvGlue):
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync WuiDispatcherBase.__init__(self, oSrvGlue, self.ksScriptName);
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync self._sTemplate = 'template.html';
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync
dcc035155cdf232a3d79024f475c2d4448981e85vboxsync # Use short form to avoid hitting the right margin (130) when using lambda.
dcc035155cdf232a3d79024f475c2d4448981e85vboxsync d = self._dDispatch; # pylint: disable=C0103
dcc035155cdf232a3d79024f475c2d4448981e85vboxsync
dcc035155cdf232a3d79024f475c2d4448981e85vboxsync #
dcc035155cdf232a3d79024f475c2d4448981e85vboxsync # System Log actions.
dcc035155cdf232a3d79024f475c2d4448981e85vboxsync #
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync d[self.ksActionSystemLogList] = lambda: self._actionGenericListing(SystemLogLogic, WuiAdminSystemLogList)
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync #
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync # User Account actions.
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync #
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync d[self.ksActionUserList] = lambda: self._actionGenericListing(UserAccountLogic, WuiUserAccountList)
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync d[self.ksActionUserAdd] = lambda: self._actionGenericFormAdd(UserAccountData, WuiUserAccount)
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync d[self.ksActionUserEdit] = lambda: self._actionGenericFormEdit(UserAccountData, WuiUserAccount,
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync UserAccountData.ksParam_uid);
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync d[self.ksActionUserAddPost] = lambda: self._actionGenericFormAddPost(UserAccountData, UserAccountLogic,
0dcab00efb68dbd44bd653d4cb18aaaef7448898vboxsync WuiUserAccount, self.ksActionUserList)
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync d[self.ksActionUserEditPost] = lambda: self._actionGenericFormEditPost(UserAccountData, UserAccountLogic,
70fa291a159216a90eea85d879c46bf4d86ed545vboxsync WuiUserAccount, self.ksActionUserList)
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync d[self.ksActionUserDelPost] = lambda: self._actionGenericDoRemove(UserAccountLogic,
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync UserAccountData.ksParam_uid,
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync self.ksActionUserList)
9d4c9e0a3e2dcc3bd19303d7b4e2d96d12c11814vboxsync
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync #
98502a585f6eda30527b54f7df18dd3de3d3d7c6vboxsync # TestBox actions.
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync #
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync d[self.ksActionTestBoxList] = lambda: self._actionGenericListing(TestBoxLogic, WuiTestBoxList);
98502a585f6eda30527b54f7df18dd3de3d3d7c6vboxsync d[self.ksActionTestBoxListPost] = self._actionTestBoxListPost;
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync d[self.ksActionTestBoxAdd] = lambda: self._actionGenericFormAdd(TestBoxData, WuiTestBox);
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync d[self.ksActionTestBoxAddPost] = lambda: self._actionGenericFormAddPost(TestBoxData, TestBoxLogic,
98502a585f6eda30527b54f7df18dd3de3d3d7c6vboxsync WuiTestBox, self.ksActionTestBoxList);
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync d[self.ksActionTestBoxDetails] = lambda: self._actionGenericFormDetails(TestBoxData, TestBoxLogic, WuiTestBox,
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync 'idTestBox', 'idGenTestBox');
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync d[self.ksActionTestBoxEdit] = lambda: self._actionGenericFormEdit(TestBoxData, WuiTestBox,
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync TestBoxData.ksParam_idTestBox);
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync d[self.ksActionTestBoxEditPost] = lambda: self._actionGenericFormEditPost(TestBoxData, TestBoxLogic,
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync WuiTestBox, self.ksActionTestBoxList);
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync d[self.ksActionTestBoxRemovePost] = lambda: self._actionGenericDoRemove(TestBoxLogic,
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync TestBoxData.ksParam_idTestBox,
70fa291a159216a90eea85d879c46bf4d86ed545vboxsync self.ksActionTestBoxList)
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync d[self.ksActionTestBoxesRegenQueues] = self._actionRegenQueuesCommon;
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync #
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync # Test Case actions.
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync #
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync d[self.ksActionTestCaseList] = lambda: self._actionGenericListing(TestCaseLogic, WuiTestCaseList);
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync d[self.ksActionTestCaseAdd] = lambda: self._actionGenericFormAdd(TestCaseDataEx, WuiTestCase);
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync d[self.ksActionTestCaseAddPost] = lambda: self._actionGenericFormAddPost(TestCaseDataEx, TestCaseLogic,
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync WuiTestCase, self.ksActionTestCaseList);
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync d[self.ksActionTestCaseClone] = lambda: self._actionGenericFormClone( TestCaseDataEx, WuiTestCase,
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync 'idTestCase', 'idGenTestCase');
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync d[self.ksActionTestCaseDetails] = lambda: self._actionGenericFormDetails(TestCaseDataEx, TestCaseLogic,
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync WuiTestCase, 'idTestCase',
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync 'idGenTestCase');
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync d[self.ksActionTestCaseEdit] = lambda: self._actionGenericFormEdit(TestCaseDataEx, WuiTestCase,
9d4c9e0a3e2dcc3bd19303d7b4e2d96d12c11814vboxsync TestCaseDataEx.ksParam_idTestCase);
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync d[self.ksActionTestCaseEditPost] = lambda: self._actionGenericFormEditPost(TestCaseDataEx, TestCaseLogic,
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync WuiTestCase, self.ksActionTestCaseList);
9d4c9e0a3e2dcc3bd19303d7b4e2d96d12c11814vboxsync d[self.ksActionTestCaseDoRemove] = lambda: self._actionGenericDoRemove(TestCaseLogic,
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync TestCaseData.ksParam_idTestCase,
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync self.ksActionTestCaseList);
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync #
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync # Global Resource actions
13f7948dbc7ae32c3e30086604ad6ade2ead3671vboxsync #
13f7948dbc7ae32c3e30086604ad6ade2ead3671vboxsync d[self.ksActionGlobalRsrcShowAll] = lambda: self._actionGenericListing(GlobalResourceLogic, WuiGlobalResourceList)
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync d[self.ksActionGlobalRsrcShowAdd] = lambda: self._actionGlobalRsrcShowAddEdit(WuiAdmin.ksActionGlobalRsrcAdd)
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync d[self.ksActionGlobalRsrcShowEdit] = lambda: self._actionGlobalRsrcShowAddEdit(WuiAdmin.ksActionGlobalRsrcEdit)
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync d[self.ksActionGlobalRsrcAdd] = lambda: self._actionGlobalRsrcAddEdit(WuiAdmin.ksActionGlobalRsrcAdd)
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync d[self.ksActionGlobalRsrcEdit] = lambda: self._actionGlobalRsrcAddEdit(WuiAdmin.ksActionGlobalRsrcEdit)
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync d[self.ksActionGlobalRsrcDel] = lambda: self._actionGenericDoDelOld(GlobalResourceLogic,
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync GlobalResourceData.ksParam_idGlobalRsrc,
dcc035155cdf232a3d79024f475c2d4448981e85vboxsync self.ksActionGlobalRsrcShowAll)
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync
f3701698f9d61fed78c320c3b35c64a0c63d6db1vboxsync #
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync # Build Source actions
dcc035155cdf232a3d79024f475c2d4448981e85vboxsync #
0dcab00efb68dbd44bd653d4cb18aaaef7448898vboxsync d[self.ksActionBuildSrcList] = lambda: self._actionGenericListing(BuildSourceLogic, WuiAdminBuildSrcList)
0dcab00efb68dbd44bd653d4cb18aaaef7448898vboxsync d[self.ksActionBuildSrcAdd] = lambda: self._actionGenericFormAdd(BuildSourceData, WuiAdminBuildSrc);
0dcab00efb68dbd44bd653d4cb18aaaef7448898vboxsync d[self.ksActionBuildSrcAddPost] = lambda: self._actionGenericFormAddPost(BuildSourceData, BuildSourceLogic,
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync WuiAdminBuildSrc, self.ksActionBuildSrcList);
dcc035155cdf232a3d79024f475c2d4448981e85vboxsync d[self.ksActionBuildSrcClone] = lambda: self._actionGenericFormClone( BuildSourceData, WuiAdminBuildSrc,
dcc035155cdf232a3d79024f475c2d4448981e85vboxsync 'idBuildSrc');
dcc035155cdf232a3d79024f475c2d4448981e85vboxsync d[self.ksActionBuildSrcDetails] = lambda: self._actionGenericFormDetails(BuildSourceData, BuildSourceLogic,
dcc035155cdf232a3d79024f475c2d4448981e85vboxsync WuiAdminBuildSrc, 'idBuildSrc');
dcc035155cdf232a3d79024f475c2d4448981e85vboxsync d[self.ksActionBuildSrcDoRemove] = lambda: self._actionGenericDoRemove(BuildSourceLogic,
dcc035155cdf232a3d79024f475c2d4448981e85vboxsync BuildSourceData.ksParam_idBuildSrc,
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync self.ksActionBuildSrcList);
0dcab00efb68dbd44bd653d4cb18aaaef7448898vboxsync d[self.ksActionBuildSrcEdit] = lambda: self._actionGenericFormEdit(BuildSourceData, WuiAdminBuildSrc,
dcc035155cdf232a3d79024f475c2d4448981e85vboxsync BuildSourceData.ksParam_idBuildSrc);
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync d[self.ksActionBuildSrcEditPost] = lambda: self._actionGenericFormEditPost(BuildSourceData, BuildSourceLogic,
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync WuiAdminBuildSrc,
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync self.ksActionBuildSrcList);
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync
f3701698f9d61fed78c320c3b35c64a0c63d6db1vboxsync #
0dcab00efb68dbd44bd653d4cb18aaaef7448898vboxsync # Build actions
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync #
dcc035155cdf232a3d79024f475c2d4448981e85vboxsync d[self.ksActionBuildList] = lambda: self._actionGenericListing(BuildLogic, WuiAdminBuildList)
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync d[self.ksActionBuildAdd] = lambda: self._actionGenericFormAdd(BuildData, WuiAdminBuild)
dcc035155cdf232a3d79024f475c2d4448981e85vboxsync d[self.ksActionBuildAddPost] = lambda: self._actionGenericFormAddPost(BuildData, BuildLogic, WuiAdminBuild,
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync self.ksActionBuildList)
dcc035155cdf232a3d79024f475c2d4448981e85vboxsync d[self.ksActionBuildClone] = lambda: self._actionGenericFormClone( BuildData, WuiAdminBuild, 'idBuild');
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync d[self.ksActionBuildDetails] = lambda: self._actionGenericFormDetails(BuildData, BuildLogic,
dcc035155cdf232a3d79024f475c2d4448981e85vboxsync WuiAdminBuild, 'idBuild');
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync d[self.ksActionBuildDoRemove] = lambda: self._actionGenericDoRemove(BuildLogic, BuildData.ksParam_idBuild,
dcc035155cdf232a3d79024f475c2d4448981e85vboxsync self.ksActionBuildList);
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync d[self.ksActionBuildEdit] = lambda: self._actionGenericFormEdit(BuildData, WuiAdminBuild,
dcc035155cdf232a3d79024f475c2d4448981e85vboxsync BuildData.ksParam_idBuild);
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync d[self.ksActionBuildEditPost] = lambda: self._actionGenericFormEditPost(BuildData, BuildLogic, WuiAdminBuild,
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync self.ksActionBuildList)
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync #
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync # Build Black List actions
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync #
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync d[self.ksActionBuildBlacklist] = lambda: self._actionGenericListing(BuildBlacklistLogic,
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync WuiAdminListOfBlacklistItems);
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync d[self.ksActionBuildBlacklistAdd] = lambda: self._actionGenericFormAdd(BuildBlacklistData, WuiAdminBuildBlacklist);
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync d[self.ksActionBuildBlacklistAddPost] = lambda: self._actionGenericFormAddPost(BuildBlacklistData, BuildBlacklistLogic,
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync WuiAdminBuildBlacklist,
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync self.ksActionBuildBlacklist);
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync d[self.ksActionBuildBlacklistClone] = lambda: self._actionGenericFormClone(BuildBlacklistData,
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync WuiAdminBuildBlacklist,
e9a584ee0777ab2612e206eeec264ccb1a8ce333vboxsync 'idBlacklisting');
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync d[self.ksActionBuildBlacklistDetails] = lambda: self._actionGenericFormDetails(BuildBlacklistData,
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync BuildBlacklistLogic,
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync WuiAdminBuildBlacklist,
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync 'idBlacklisting');
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync d[self.ksActionBuildBlacklistDoRemove] = lambda: self._actionGenericDoRemove(BuildBlacklistLogic,
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync BuildBlacklistData.ksParam_idBlacklisting,
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync self.ksActionBuildBlacklist)
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync d[self.ksActionBuildBlacklistEdit] = lambda: self._actionGenericFormEdit(BuildBlacklistData,
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync WuiAdminBuildBlacklist,
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync BuildBlacklistData.ksParam_idBlacklisting);
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync d[self.ksActionBuildBlacklistEditPost] = lambda: self._actionGenericFormEditPost(BuildBlacklistData,
e9a584ee0777ab2612e206eeec264ccb1a8ce333vboxsync BuildBlacklistLogic,
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync WuiAdminBuildBlacklist,
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync self.ksActionBuildBlacklist)
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync #
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync # Failure Category actions
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync #
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync d[self.ksActionFailureCategoryList] = lambda: self._actionGenericListing(
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync FailureCategoryLogic,
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync WuiFailureCategoryList)
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync
e9a584ee0777ab2612e206eeec264ccb1a8ce333vboxsync d[self.ksActionFailureCategoryShowAdd] = lambda: self._actionGenericFormAdd(
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync FailureCategoryData,
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync WuiFailureCategory)
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync d[self.ksActionFailureCategoryShowEdit] = lambda: self._actionGenericFormEditL(
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync FailureCategoryLogic,
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync FailureCategoryData.ksParam_idFailureCategory,
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync WuiFailureCategory)
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync d[self.ksActionFailureCategoryAdd] = lambda: self._actionGenericFormAddPost(
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync FailureCategoryData,
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync FailureCategoryLogic,
e9a584ee0777ab2612e206eeec264ccb1a8ce333vboxsync WuiFailureCategory,
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync self.ksActionFailureCategoryList)
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync d[self.ksActionFailureCategoryEdit] = lambda: self._actionGenericFormEditPost(
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync FailureCategoryData,
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync FailureCategoryLogic,
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync WuiFailureCategory,
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync self.ksActionFailureCategoryList)
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync d[self.ksActionFailureCategoryDel] = lambda: self._actionGenericDoDelOld(
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync FailureCategoryLogic,
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync FailureCategoryData.ksParam_idFailureCategory,
e9a584ee0777ab2612e206eeec264ccb1a8ce333vboxsync self.ksActionFailureCategoryList)
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync #
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync # Failure Reason actions
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync #
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync d[self.ksActionFailureReasonList] = lambda: self._actionGenericListing(
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync FailureReasonLogic,
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync WuiAdminFailureReasonList)
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync d[self.ksActionFailureReasonShowAdd] = lambda: self._actionGenericFormAdd(
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync FailureReasonData,
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync WuiAdminFailureReason)
e9a584ee0777ab2612e206eeec264ccb1a8ce333vboxsync
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync d[self.ksActionFailureReasonShowEdit] = lambda: self._actionGenericFormEditL(
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync FailureReasonLogic,
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync FailureReasonData.ksParam_idFailureReason,
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync WuiAdminFailureReason)
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync d[self.ksActionFailureReasonAdd] = lambda: self._actionGenericFormAddPost(
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync FailureReasonData,
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync FailureReasonLogic,
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync WuiAdminFailureReason,
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync self.ksActionFailureReasonList)
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync
e9a584ee0777ab2612e206eeec264ccb1a8ce333vboxsync d[self.ksActionFailureReasonEdit] = lambda: self._actionGenericFormEditPost(
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync FailureReasonData,
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync FailureReasonLogic,
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync WuiAdminFailureReason,
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync self.ksActionFailureReasonList)
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync d[self.ksActionFailureReasonDel] = lambda: self._actionGenericDoDelOld(FailureReasonLogic,
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync FailureReasonData.ksParam_idFailureReason,
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync self.ksActionFailureReasonList)
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync #
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync # Build Category actions
e9a584ee0777ab2612e206eeec264ccb1a8ce333vboxsync #
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync d[self.ksActionBuildCategoryList] = lambda: self._actionGenericListing(BuildCategoryLogic, WuiAdminBuildCatList);
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync d[self.ksActionBuildCategoryAdd] = lambda: self._actionGenericFormAdd(BuildCategoryData, WuiAdminBuildCat);
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync d[self.ksActionBuildCategoryAddPost] = lambda: self._actionGenericFormAddPost(BuildCategoryData, BuildCategoryLogic,
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync WuiAdminBuildCat,
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync self.ksActionBuildCategoryList);
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync d[self.ksActionBuildCategoryClone] = lambda: self._actionGenericFormClone( BuildCategoryData, WuiAdminBuildCat,
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync 'idBuildCategory');
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync d[self.ksActionBuildCategoryDetails] = lambda: self._actionGenericFormDetails(BuildCategoryData, BuildCategoryLogic,
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync WuiAdminBuildCat, 'idBuildCategory');
dcc035155cdf232a3d79024f475c2d4448981e85vboxsync d[self.ksActionBuildCategoryDoRemove] = lambda: self._actionGenericDoRemove(BuildCategoryLogic,
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync BuildCategoryData.ksParam_idBuildCategory,
e9a584ee0777ab2612e206eeec264ccb1a8ce333vboxsync self.ksActionBuildCategoryList)
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync #
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync # Test Group actions
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync #
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync d[self.ksActionTestGroupList] = lambda: self._actionGenericListing(TestGroupLogic, WuiTestGroupList);
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync d[self.ksActionTestGroupAdd] = lambda: self._actionGenericFormAdd(TestGroupDataEx, WuiTestGroup);
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync d[self.ksActionTestGroupAddPost] = lambda: self._actionGenericFormAddPost(TestGroupDataEx, TestGroupLogic,
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync WuiTestGroup, self.ksActionTestGroupList);
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync d[self.ksActionTestGroupClone] = lambda: self._actionGenericFormClone( TestGroupDataEx, WuiTestGroup,
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync 'idTestGroup');
dcc035155cdf232a3d79024f475c2d4448981e85vboxsync d[self.ksActionTestGroupDetails] = lambda: self._actionGenericFormDetails(TestGroupDataEx, TestGroupLogic,
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync WuiTestGroup, 'idTestGroup');
e9a584ee0777ab2612e206eeec264ccb1a8ce333vboxsync d[self.ksActionTestGroupEdit] = lambda: self._actionGenericFormEdit(TestGroupDataEx, WuiTestGroup,
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync TestGroupDataEx.ksParam_idTestGroup);
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync d[self.ksActionTestGroupEditPost] = lambda: self._actionGenericFormEditPost(TestGroupDataEx, TestGroupLogic,
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync WuiTestGroup, self.ksActionTestGroupList);
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync d[self.ksActionTestGroupDoRemove] = lambda: self._actionGenericDoRemove(TestGroupLogic,
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync TestGroupDataEx.ksParam_idTestGroup,
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync self.ksActionTestGroupList)
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync d[self.ksActionTestCfgRegenQueues] = self._actionRegenQueuesCommon;
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync #
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync # Scheduling Group actions
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync #
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync d[self.ksActionSchedGroupList] = lambda: self._actionGenericListing(SchedGroupLogic, WuiAdminSchedGroupList)
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync d[self.ksActionSchedGroupAdd] = lambda: self._actionGenericFormAdd(SchedGroupDataEx, WuiSchedGroup);
e9a584ee0777ab2612e206eeec264ccb1a8ce333vboxsync d[self.ksActionSchedGroupClone] = lambda: self._actionGenericFormClone( SchedGroupDataEx, WuiSchedGroup,
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync 'idSchedGroup');
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync d[self.ksActionSchedGroupDetails] = lambda: self._actionGenericFormDetails(SchedGroupDataEx, SchedGroupLogic,
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync WuiSchedGroup, 'idSchedGroup');
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync d[self.ksActionSchedGroupEdit] = lambda: self._actionGenericFormEdit(SchedGroupDataEx, WuiSchedGroup,
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync SchedGroupData.ksParam_idSchedGroup);
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync d[self.ksActionSchedGroupAddPost] = lambda: self._actionGenericFormAddPost(SchedGroupDataEx, SchedGroupLogic,
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync WuiSchedGroup, self.ksActionSchedGroupList);
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync d[self.ksActionSchedGroupEditPost] = lambda: self._actionGenericFormEditPost(SchedGroupDataEx, SchedGroupLogic,
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync WuiSchedGroup, self.ksActionSchedGroupList);
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync d[self.ksActionSchedGroupDoRemove] = lambda: self._actionGenericDoRemove(SchedGroupLogic,
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync SchedGroupData.ksParam_idSchedGroup,
e9a584ee0777ab2612e206eeec264ccb1a8ce333vboxsync self.ksActionSchedGroupList)
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync self._aaoMenus = \
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync [
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync [
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync 'Builds', self._sActionUrlBase + self.ksActionBuildList,
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync [
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync [ 'Builds', self._sActionUrlBase + self.ksActionBuildList ],
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync [ 'Blacklist', self._sActionUrlBase + self.ksActionBuildBlacklist ],
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync [ 'Build Sources', self._sActionUrlBase + self.ksActionBuildSrcList ],
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync [ 'Build Categories', self._sActionUrlBase + self.ksActionBuildCategoryList ],
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync [ 'New Build', self._sActionUrlBase + self.ksActionBuildAdd ],
e9a584ee0777ab2612e206eeec264ccb1a8ce333vboxsync [ 'New Blacklisting', self._sActionUrlBase + self.ksActionBuildBlacklistAdd ],
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync [ 'New Build Source', self._sActionUrlBase + self.ksActionBuildSrcAdd],
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync [ 'New Build Category', self._sActionUrlBase + self.ksActionBuildCategoryAdd ],
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync ]
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync ],
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync [
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync 'Failure Reasons', self._sActionUrlBase + self.ksActionFailureReasonList,
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync [
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync [ 'Failure Categories', self._sActionUrlBase + self.ksActionFailureCategoryList ],
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync [ 'Failure Reasons', self._sActionUrlBase + self.ksActionFailureReasonList ],
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync [ 'New Failure Category', self._sActionUrlBase + self.ksActionFailureCategoryShowAdd ],
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync [ 'New Failure Reason', self._sActionUrlBase + self.ksActionFailureReasonShowAdd ],
e9a584ee0777ab2612e206eeec264ccb1a8ce333vboxsync ]
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync ],
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync [
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync 'System', self._sActionUrlBase + self.ksActionSystemLogList,
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync [
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync [ 'System Log', self._sActionUrlBase + self.ksActionSystemLogList ],
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync [ 'User Accounts', self._sActionUrlBase + self.ksActionUserList ],
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync [ 'New User', self._sActionUrlBase + self.ksActionUserAdd ],
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync ]
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync ],
dcc035155cdf232a3d79024f475c2d4448981e85vboxsync [
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync 'TestBoxes', self._sActionUrlBase + self.ksActionTestBoxList,
e9a584ee0777ab2612e206eeec264ccb1a8ce333vboxsync [
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync [ 'TestBoxes', self._sActionUrlBase + self.ksActionTestBoxList ],
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync [ 'Scheduling Groups', self._sActionUrlBase + self.ksActionSchedGroupList ],
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync [ 'New TestBox', self._sActionUrlBase + self.ksActionTestBoxAdd ],
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync [ 'New Scheduling Group', self._sActionUrlBase + self.ksActionSchedGroupAdd ],
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync [ 'Regenerate All Scheduling Queues', self._sActionUrlBase + self.ksActionTestBoxesRegenQueues ],
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync ]
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync ],
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync [
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync 'Test Config', self._sActionUrlBase + self.ksActionTestGroupList,
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync [
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync [ 'Test Cases', self._sActionUrlBase + self.ksActionTestCaseList ],
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync [ 'Test Groups', self._sActionUrlBase + self.ksActionTestGroupList ],
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync [ 'Global Resources', self._sActionUrlBase + self.ksActionGlobalRsrcShowAll ],
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync [ 'New Test Case', self._sActionUrlBase + self.ksActionTestCaseAdd ],
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync [ 'New Test Group', self._sActionUrlBase + self.ksActionTestGroupAdd ],
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync [ 'New Global Resource', self._sActionUrlBase + self.ksActionGlobalRsrcShowAdd ],
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync [ 'Regenerate All Scheduling Queues', self._sActionUrlBase + self.ksActionTestCfgRegenQueues ],
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync ]
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync ],
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync [
0aa1ba1d1ea27baa7762e4fe891824df38697189vboxsync '> Test Results', 'index.py?' + webutils.encodeUrlParams(self._dDbgParams), []
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync ],
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync ];
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync
8e2451f7a9a8e6e722d2065fe0eeb5df93799c7avboxsync
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync def _actionDefault(self):
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync """Show the default admin page."""
0aa1ba1d1ea27baa7762e4fe891824df38697189vboxsync self._sAction = self.ksActionTestBoxList;
13f7948dbc7ae32c3e30086604ad6ade2ead3671vboxsync return self._actionGenericListing(TestBoxLogic, WuiTestBoxList);
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync
8e2451f7a9a8e6e722d2065fe0eeb5df93799c7avboxsync def _actionGenericDoDelOld(self, oCoreObjectLogic, sCoreObjectIdFieldName, sRedirectAction):
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync """
8e2451f7a9a8e6e722d2065fe0eeb5df93799c7avboxsync Delete entry (using oLogicType.remove).
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync
0aa1ba1d1ea27baa7762e4fe891824df38697189vboxsync @param oCoreObjectLogic A *Logic class
240f7d7012a5f64bcde850bcf048531a710d81cfvboxsync
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync @param sCoreObjectIdFieldName Name of HTTP POST variable that
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync contains object ID information
8e2451f7a9a8e6e722d2065fe0eeb5df93799c7avboxsync
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync @param sRedirectAction An action for redirect user to
0aa1ba1d1ea27baa7762e4fe891824df38697189vboxsync in case of operation success
240f7d7012a5f64bcde850bcf048531a710d81cfvboxsync """
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync iCoreDataObjectId = self.getStringParam(sCoreObjectIdFieldName) # STRING?!?!
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync self._checkForUnknownParameters()
8e2451f7a9a8e6e722d2065fe0eeb5df93799c7avboxsync
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync try:
0aa1ba1d1ea27baa7762e4fe891824df38697189vboxsync self._sPageTitle = None
240f7d7012a5f64bcde850bcf048531a710d81cfvboxsync self._sPageBody = None
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync self._sRedirectTo = self._sActionUrlBase + sRedirectAction
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync return oCoreObjectLogic(self._oDb).remove(self._oCurUser.uid, iCoreDataObjectId)
8e2451f7a9a8e6e722d2065fe0eeb5df93799c7avboxsync except Exception as oXcpt:
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync self._oDb.rollback();
0aa1ba1d1ea27baa7762e4fe891824df38697189vboxsync self._sPageTitle = 'Unable to delete record'
240f7d7012a5f64bcde850bcf048531a710d81cfvboxsync self._sPageBody = str(oXcpt);
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync if config.g_kfDebugDbXcpt:
240f7d7012a5f64bcde850bcf048531a710d81cfvboxsync self._sPageBody += cgitb.html(sys.exc_info());
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync self._sRedirectTo = None
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync return False
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync def _actionGenericDoRemove(self, oLogicType, sParamId, sRedirAction):
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync """
8e2451f7a9a8e6e722d2065fe0eeb5df93799c7avboxsync Delete entry (using oLogicType.removeEntry).
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync
8e2451f7a9a8e6e722d2065fe0eeb5df93799c7avboxsync oLogicType is a class that implements addEntry.
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync sParamId is the name (ksParam_...) of the HTTP variable hold the ID of
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync the database entry to delete.
0aa1ba1d1ea27baa7762e4fe891824df38697189vboxsync
240f7d7012a5f64bcde850bcf048531a710d81cfvboxsync sRedirAction is what action to redirect to on success.
240f7d7012a5f64bcde850bcf048531a710d81cfvboxsync """
8e2451f7a9a8e6e722d2065fe0eeb5df93799c7avboxsync idEntry = self.getIntParam(sParamId, iMin = 1, iMax = 0x7fffffe)
240f7d7012a5f64bcde850bcf048531a710d81cfvboxsync fCascade = self.getBoolParam('fCascadeDelete', False);
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync self._checkForUnknownParameters()
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync try:
8e2451f7a9a8e6e722d2065fe0eeb5df93799c7avboxsync self._sPageTitle = None
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync self._sPageBody = None
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync self._sRedirectTo = self._sActionUrlBase + sRedirAction;
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync return oLogicType(self._oDb).removeEntry(self._oCurUser.uid, idEntry, fCascade = fCascade, fCommit = True);
0aa1ba1d1ea27baa7762e4fe891824df38697189vboxsync except Exception as oXcpt:
240f7d7012a5f64bcde850bcf048531a710d81cfvboxsync self._oDb.rollback();
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync self._sPageTitle = 'Unable to delete entry';
8e2451f7a9a8e6e722d2065fe0eeb5df93799c7avboxsync self._sPageBody = str(oXcpt);
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync if config.g_kfDebugDbXcpt:
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync self._sPageBody += cgitb.html(sys.exc_info());
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync self._sRedirectTo = None;
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync return False;
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync
8e2451f7a9a8e6e722d2065fe0eeb5df93799c7avboxsync
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync #
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync # System Category.
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync #
0aa1ba1d1ea27baa7762e4fe891824df38697189vboxsync
240f7d7012a5f64bcde850bcf048531a710d81cfvboxsync # (all generic)
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync
8e2451f7a9a8e6e722d2065fe0eeb5df93799c7avboxsync #
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync # TestBox & Scheduling Category.
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync #
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync def _actionTestBoxListPost(self):
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync """Actions on a list of testboxes."""
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync # Parameters.
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync aidTestBoxes = self.getListOfIntParams(TestBoxData.ksParam_idTestBox, iMin = 1, aiDefaults = []);
8e2451f7a9a8e6e722d2065fe0eeb5df93799c7avboxsync sListAction = self.getStringParam(self.ksParamListAction);
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync if sListAction in [asDesc[0] for asDesc in WuiTestBoxList.kasTestBoxActionDescs]:
638f27fb9be4828305a85ea82a50b735b3bddee0vboxsync idAction = None;
a0892a0a33b8ffaa8ff2f252411176f63e8d9f18vboxsync else:
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync asActionPrefixes = [ 'setgroup-', ];
638f27fb9be4828305a85ea82a50b735b3bddee0vboxsync i = 0;
a0892a0a33b8ffaa8ff2f252411176f63e8d9f18vboxsync while i < len(asActionPrefixes) and not sListAction.startswith(asActionPrefixes[i]):
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync i += 1;
a0892a0a33b8ffaa8ff2f252411176f63e8d9f18vboxsync if i >= len(asActionPrefixes):
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync raise WuiException('Parameter "%s" has an invalid value: "%s"' % (self.ksParamListAction, sListAction,));
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync idAction = sListAction[len(asActionPrefixes[i]):];
8e2451f7a9a8e6e722d2065fe0eeb5df93799c7avboxsync if not idAction.isdigit():
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync raise WuiException('Parameter "%s" has an invalid value: "%s"' % (self.ksParamListAction, sListAction,));
638f27fb9be4828305a85ea82a50b735b3bddee0vboxsync idAction = int(idAction);
a0892a0a33b8ffaa8ff2f252411176f63e8d9f18vboxsync sListAction = sListAction[:len(asActionPrefixes[i]) - 1];
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync self._checkForUnknownParameters();
638f27fb9be4828305a85ea82a50b735b3bddee0vboxsync
a0892a0a33b8ffaa8ff2f252411176f63e8d9f18vboxsync
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync # Take action.
a0892a0a33b8ffaa8ff2f252411176f63e8d9f18vboxsync if sListAction is 'none':
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync pass;
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync else:
8e2451f7a9a8e6e722d2065fe0eeb5df93799c7avboxsync oLogic = TestBoxLogic(self._oDb);
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync aoTestBoxes = []
638f27fb9be4828305a85ea82a50b735b3bddee0vboxsync for idTestBox in aidTestBoxes:
a0892a0a33b8ffaa8ff2f252411176f63e8d9f18vboxsync aoTestBoxes.append(TestBoxData().initFromDbWithId(self._oDb, idTestBox));
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync
a0892a0a33b8ffaa8ff2f252411176f63e8d9f18vboxsync if sListAction in [ 'enable', 'disable' ]:
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync fEnable = sListAction == 'enable';
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync for oTestBox in aoTestBoxes:
8e2451f7a9a8e6e722d2065fe0eeb5df93799c7avboxsync if oTestBox.fEnabled != fEnable:
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync oTestBox.fEnabled = fEnable;
638f27fb9be4828305a85ea82a50b735b3bddee0vboxsync oLogic.editEntry(oTestBox, self._oCurUser.uid, fCommit = False);
a0892a0a33b8ffaa8ff2f252411176f63e8d9f18vboxsync elif sListAction == 'setgroup':
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync for oTestBox in aoTestBoxes:
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync if oTestBox.idSchedGroup != idAction:
8e2451f7a9a8e6e722d2065fe0eeb5df93799c7avboxsync oTestBox.idSchedGroup = idAction;
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync oLogic.editEntry(oTestBox, self._oCurUser.uid, fCommit = False);
638f27fb9be4828305a85ea82a50b735b3bddee0vboxsync else:
7d126da2d4ddf0f075dbdce89c2fb953a464e6bfvboxsync for oTestBox in aoTestBoxes:
faa7602db7e32056326da7e169b5f505c607138fvboxsync if oTestBox.enmPendingCmd != sListAction:
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync oTestBox.enmPendingCmd = sListAction;
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync oLogic.editEntry(oTestBox, self._oCurUser.uid, fCommit = False);
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync self._oDb.commit();
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync
8e2451f7a9a8e6e722d2065fe0eeb5df93799c7avboxsync # Re-display the list.
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync self._sPageTitle = None;
0aa1ba1d1ea27baa7762e4fe891824df38697189vboxsync self._sPageBody = None;
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync self._sRedirectTo = self._sActionUrlBase + self.ksActionTestBoxList;
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync return True;
0aa1ba1d1ea27baa7762e4fe891824df38697189vboxsync
13f7948dbc7ae32c3e30086604ad6ade2ead3671vboxsync ## @todo scheduling groups code goes here...
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync def _actionRegenQueuesCommon(self):
0aa1ba1d1ea27baa7762e4fe891824df38697189vboxsync """
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync Common code for ksActionTestBoxesRegenQueues and ksActionTestCfgRegenQueues.
0aa1ba1d1ea27baa7762e4fe891824df38697189vboxsync
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync Too lazy to put this in some separate place right now.
8e2451f7a9a8e6e722d2065fe0eeb5df93799c7avboxsync """
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync self._checkForUnknownParameters();
0aa1ba1d1ea27baa7762e4fe891824df38697189vboxsync ## @todo should also be changed to a POST with a confirmation dialog preceeding it.
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync
240f7d7012a5f64bcde850bcf048531a710d81cfvboxsync self._sPageTitle = 'Regenerate All Scheduling Queues';
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync self._sPageBody = '';
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync aoGroups = SchedGroupLogic(self._oDb).getAll();
8e2451f7a9a8e6e722d2065fe0eeb5df93799c7avboxsync for oGroup in aoGroups:
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync self._sPageBody += '<h3>%s (ID %#d)</h3>' % (webutils.escapeElem(oGroup.sName), oGroup.idSchedGroup);
0aa1ba1d1ea27baa7762e4fe891824df38697189vboxsync try:
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync (aoErrors, asMessages) = SchedulerBase.recreateQueue(self._oDb, self._oCurUser.uid, oGroup.idSchedGroup, 2);
240f7d7012a5f64bcde850bcf048531a710d81cfvboxsync except Exception as oXcpt:
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync self._oDb.rollback();
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync self._sPageBody += '<p>SchedulerBase.recreateQueue threw an exception: %s</p>' \
8e2451f7a9a8e6e722d2065fe0eeb5df93799c7avboxsync % (webutils.escapeElem(str(oXcpt)),);
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync self._sPageBody += cgitb.html(sys.exc_info());
0aa1ba1d1ea27baa7762e4fe891824df38697189vboxsync else:
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync if len(aoErrors) == 0:
240f7d7012a5f64bcde850bcf048531a710d81cfvboxsync self._sPageBody += '<p>Successfully regenerated.</p>';
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync else:
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync for oError in aoErrors:
8e2451f7a9a8e6e722d2065fe0eeb5df93799c7avboxsync if oError[1] is None:
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync self._sPageBody += '<p>%s.</p>' % (webutils.escapeElem(oError[0]),);
0aa1ba1d1ea27baa7762e4fe891824df38697189vboxsync ## @todo links.
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync #elif isinstance(oError[1], TestGroupData):
240f7d7012a5f64bcde850bcf048531a710d81cfvboxsync # self._sPageBody += '<p>%s.</p>' % (webutils.escapeElem(oError[0]),);
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync #elif isinstance(oError[1], TestGroupCase):
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync # self._sPageBody += '<p>%s.</p>' % (webutils.escapeElem(oError[0]),);
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync else:
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync self._sPageBody += '<p>%s. [Cannot link to %s]</p>' \
0aa1ba1d1ea27baa7762e4fe891824df38697189vboxsync % (webutils.escapeElem(oError[0]), webutils.escapeElem(str(oError[1])));
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync for sMsg in asMessages:
8e2451f7a9a8e6e722d2065fe0eeb5df93799c7avboxsync self._sPageBody += '<p>%s<p>\n' % (webutils.escapeElem(sMsg),);
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync return True;
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync
8e2451f7a9a8e6e722d2065fe0eeb5df93799c7avboxsync
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync #
0aa1ba1d1ea27baa7762e4fe891824df38697189vboxsync # Test Config Category.
8e2451f7a9a8e6e722d2065fe0eeb5df93799c7avboxsync #
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync
0aa1ba1d1ea27baa7762e4fe891824df38697189vboxsync def _actionGlobalRsrcShowAddEdit(self, sAction): # pylint: disable=C0103
13f7948dbc7ae32c3e30086604ad6ade2ead3671vboxsync """Show Global Resource creation or edit dialog"""
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync oGlobalResourceLogic = GlobalResourceLogic(self._oDb)
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync if sAction == WuiAdmin.ksActionGlobalRsrcEdit:
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync idGlobalRsrc = self.getIntParam(GlobalResourceData.ksParam_idGlobalRsrc, iDefault = -1)
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync oData = oGlobalResourceLogic.getById(idGlobalRsrc)
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync else:
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync oData = GlobalResourceData()
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync oData.convertToParamNull()
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync self._checkForUnknownParameters()
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync
8e2451f7a9a8e6e722d2065fe0eeb5df93799c7avboxsync oContent = WuiGlobalResource(oData)
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync (self._sPageTitle, self._sPageBody) = oContent.showAddModifyPage(sAction)
0aa1ba1d1ea27baa7762e4fe891824df38697189vboxsync
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync return True
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync
8e2451f7a9a8e6e722d2065fe0eeb5df93799c7avboxsync def _actionGlobalRsrcAddEdit(self, sAction):
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync """Add or modify Global Resource record"""
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync
8e2451f7a9a8e6e722d2065fe0eeb5df93799c7avboxsync oData = GlobalResourceData()
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync oData.initFromParams(self, fStrict=True)
0aa1ba1d1ea27baa7762e4fe891824df38697189vboxsync
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync self._checkForUnknownParameters()
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync
8e2451f7a9a8e6e722d2065fe0eeb5df93799c7avboxsync if self._oSrvGlue.getMethod() != 'POST':
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync raise WuiException('Expected "POST" request, got "%s"' % (self._oSrvGlue.getMethod(),))
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync
8e2451f7a9a8e6e722d2065fe0eeb5df93799c7avboxsync oGlobalResourceLogic = GlobalResourceLogic(self._oDb)
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync dErrors = oData.validateAndConvert(self._oDb);
0aa1ba1d1ea27baa7762e4fe891824df38697189vboxsync if len(dErrors) == 0:
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync if sAction == WuiAdmin.ksActionGlobalRsrcAdd:
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync oGlobalResourceLogic.addGlobalResource(self._oCurUser.uid, oData)
8e2451f7a9a8e6e722d2065fe0eeb5df93799c7avboxsync elif sAction == WuiAdmin.ksActionGlobalRsrcEdit:
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync idGlobalRsrc = self.getStringParam(GlobalResourceData.ksParam_idGlobalRsrc)
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync oGlobalResourceLogic.editGlobalResource(self._oCurUser.uid, idGlobalRsrc, oData)
8e2451f7a9a8e6e722d2065fe0eeb5df93799c7avboxsync else:
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync raise WuiException('Invalid parameter.')
0aa1ba1d1ea27baa7762e4fe891824df38697189vboxsync self._sPageTitle = None;
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync self._sPageBody = None;
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync self._sRedirectTo = self._sActionUrlBase + self.ksActionGlobalRsrcShowAll;
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync else:
13f7948dbc7ae32c3e30086604ad6ade2ead3671vboxsync oContent = WuiGlobalResource(oData)
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync (self._sPageTitle, self._sPageBody) = oContent.showAddModifyPage(sAction, dErrors=dErrors)
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync
8e2451f7a9a8e6e722d2065fe0eeb5df93799c7avboxsync return True
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync
0aa1ba1d1ea27baa7762e4fe891824df38697189vboxsync def _generatePage(self):
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync """Override parent handler in order to change page titte"""
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync if self._sPageTitle is not None:
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync self._sPageTitle = 'Test Manager Admin - ' + self._sPageTitle
13f7948dbc7ae32c3e30086604ad6ade2ead3671vboxsync
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync return WuiDispatcherBase._generatePage(self)
b4aee06a140a74517eedd6e55625cb88bd7b3d87vboxsync