VirtualBox

Changeset 65039 in vbox


Ignore:
Timestamp:
Dec 30, 2016 3:35:30 PM (8 years ago)
Author:
vboxsync
Message:

testmanager: Simple system wide changelog.

Location:
trunk/src/VBox/ValidationKit/testmanager
Files:
2 added
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/ValidationKit/testmanager/core/base.py

    r65025 r65039  
    12991299        self.sOldText       = sOldText;
    13001300
     1301class AttributeChangeEntryPre(AttributeChangeEntry): # pylint: disable=R0903
     1302    """
     1303    AttributeChangeEntry for preformatted values.
     1304    """
     1305
     1306    def __init__(self, sAttr, oNewRaw, oOldRaw, sNewText, sOldText):
     1307        AttributeChangeEntry.__init__(self, sAttr, oNewRaw, oOldRaw, sNewText, sOldText);
     1308
    13011309class ChangeLogEntry(object): # pylint: disable=R0903
    13021310    """
  • trunk/src/VBox/ValidationKit/testmanager/core/testbox.py

    r62484 r65039  
    3838from testmanager.core.base          import ModelDataBase, ModelDataBaseTestCase, ModelLogicBase, TMInFligthCollision, \
    3939                                           TMInvalidData, TMTooManyRows, TMRowNotFound, \
    40                                            ChangeLogEntry, AttributeChangeEntry;
     40                                           ChangeLogEntry, AttributeChangeEntry, AttributeChangeEntryPre;
    4141from testmanager.core.useraccount   import UserAccountLogic;
    4242
     
    749749                    oNewAttr = getattr(oNew, sAttr);
    750750                    if oOldAttr != oNewAttr:
    751                         aoChanges.append(AttributeChangeEntry(sAttr, oNewAttr, oOldAttr, str(oNewAttr), str(oOldAttr)));
     751                        if sAttr == 'sReport':
     752                            aoChanges.append(AttributeChangeEntryPre(sAttr, oNewAttr, oOldAttr, str(oNewAttr), str(oOldAttr)));
     753                        else:
     754                            aoChanges.append(AttributeChangeEntry(sAttr, oNewAttr, oOldAttr, str(oNewAttr), str(oOldAttr)));
    752755            aoEntries.append(ChangeLogEntry(oNew.uidAuthor, None, oNew.tsEffective, oNew.tsExpire, oNew, oOld, aoChanges));
    753756
  • trunk/src/VBox/ValidationKit/testmanager/webui/wuiadmin.py

    r64986 r65039  
    4848    ksScriptName = 'admin.py'
    4949
     50    ## Number of days back.
     51    ksParamDaysBack = 'cDaysBack';
    5052
    5153    ## @name Actions
    5254    ## @{
    5355    ksActionSystemLogList           = 'SystemLogList'
     56    ksActionSystemChangelogList     = 'SystemChangelogList'
    5457
    5558    ksActionUserList                = 'UserList'
     
    165168        #
    166169        self._dDispatch[self.ksActionSystemLogList]             = self._actionSystemLogList;
     170        self._dDispatch[self.ksActionSystemChangelogList]       = self._actionSystemChangelogList;
    167171
    168172        #
     
    333337            ],
    334338            [
    335                 'System',      self._sActionUrlBase + self.ksActionSystemLogList,
     339                'System',      self._sActionUrlBase + self.ksActionSystemChangelogList,
    336340                [
     341                    [ 'Changelog',              self._sActionUrlBase + self.ksActionSystemChangelogList ],
    337342                    [ 'System log',             self._sActionUrlBase + self.ksActionSystemLogList ],
    338343                    [ 'User accounts',          self._sActionUrlBase + self.ksActionUserList ],
     
    410415    #
    411416
     417    # System wide changelog actions.
     418
     419    def _actionSystemChangelogList(self):
     420        """ Action wrapper. """
     421        from testmanager.core.systemchangelog          import SystemChangelogLogic;
     422        from testmanager.webui.wuiadminsystemchangelog import WuiAdminSystemChangelogList;
     423
     424        tsEffective     = self.getEffectiveDateParam();
     425        cItemsPerPage   = self.getIntParam(self.ksParamItemsPerPage, iMin = 2, iMax =   9999, iDefault = 300);
     426        iPage           = self.getIntParam(self.ksParamPageNo,       iMin = 0, iMax = 999999, iDefault = 0);
     427        cDaysBack       = self.getIntParam(self.ksParamDaysBack,     iMin = 1, iMax = 366,    iDefault = 14);
     428        self._checkForUnknownParameters();
     429
     430        aoEntries  = SystemChangelogLogic(self._oDb).fetchForListingEx(iPage * cItemsPerPage, cItemsPerPage + 1,
     431                                                                       tsEffective, cDaysBack);
     432        oContent   = WuiAdminSystemChangelogList(aoEntries, iPage, cItemsPerPage, tsEffective,
     433                                                 cDaysBack = cDaysBack, fnDPrint = self._oSrvGlue.dprint, oDisp = self);
     434        (self._sPageTitle, self._sPageBody) = oContent.show();
     435        return True;
     436
    412437    # System Log actions.
    413438
  • trunk/src/VBox/ValidationKit/testmanager/webui/wuicontentbase.py

    r62484 r65039  
    3636from common                         import webutils;
    3737from testmanager                    import config;
    38 from testmanager.webui.wuibase      import WuiDispatcherBase, WuiException
     38from testmanager.webui.wuibase      import WuiDispatcherBase, WuiException;
    3939from testmanager.webui.wuihlpform   import WuiHlpForm;
    4040from testmanager.core               import db;
     41from testmanager.core.base          import AttributeChangeEntryPre;
    4142
    4243
     
    460461        j = 0;
    461462        for oChange in oEntry.aoChanges:
    462             sContent += '        <tr class="%s%s"><td>%s</td><td>%s</td><td>%s</td></tr>\n' \
    463                       % ( sRowClass, 'odd' if j & 1 else 'even',
    464                           webutils.escapeElem(oChange.sAttr),
    465                           webutils.escapeElem(oChange.sOldText),
    466                           webutils.escapeElem(oChange.sNewText), );
     463            if isinstance(oChange, AttributeChangeEntryPre):
     464                sContent += '        <tr class="%s%s"><td>%s</td>'\
     465                            '<td><div class="tdpre"><pre>%s</pre></div></td>' \
     466                            '<td><div class="tdpre"><pre>%s</pre></div></td></tr>\n' \
     467                          % ( sRowClass, 'odd' if j & 1 else 'even',
     468                              webutils.escapeElem(oChange.sAttr),
     469                              webutils.escapeElem(oChange.sOldText),
     470                              webutils.escapeElem(oChange.sNewText), );
     471            else:
     472                sContent += '        <tr class="%s%s"><td>%s</td><td>%s</td><td>%s</td></tr>\n' \
     473                          % ( sRowClass, 'odd' if j & 1 else 'even',
     474                              webutils.escapeElem(oChange.sAttr),
     475                              webutils.escapeElem(oChange.sOldText),
     476                              webutils.escapeElem(oChange.sNewText), );
    467477            j += 1;
    468478
Note: See TracChangeset for help on using the changeset viewer.

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