NovaBryan/EVE_Dump
Log | Files | 📦 下载最新源码 (.zip) | Refs | README

auditLogCont.py (1994B)


      1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\eve\client\script\ui\structure\accessGroups\auditLogCont.py
      2 from carbonui.primitives.container import Container
      3 from carbonui.util.bunch import Bunch
      4 from eve.client.script.ui.control.eveScroll import Scroll
      5 from eve.client.script.ui.structure.accessGroups.auditLogEntry import AuditLogEntryBase, AuditLogChangedText, AuditLogMemberChanges, AuditLogGroupChanges
      6 from eve.client.script.ui.structure.accessGroups.ownerGroupUtils import ConvertDBRowToBundle
      7 from ownergroups.ownergroupConst import GROUP_CREATED, GROUP_DELETED, GROUP_NAME_CHANGED, GROUP_DESCRIPTION_CHANGED, GROUP_MEMBER_REMOVED, GROUP_MEMBER_ADDED, GROUP_MEMBERTYPE_CHANGED
      8 
      9 class AuditLogCont(Container):
     10     entryDict = {GROUP_CREATED: AuditLogGroupChanges,
     11      GROUP_DELETED: AuditLogGroupChanges,
     12      GROUP_MEMBER_ADDED: AuditLogMemberChanges,
     13      GROUP_MEMBERTYPE_CHANGED: AuditLogMemberChanges,
     14      GROUP_MEMBER_REMOVED: AuditLogMemberChanges,
     15      GROUP_NAME_CHANGED: AuditLogChangedText,
     16      GROUP_DESCRIPTION_CHANGED: AuditLogChangedText}
     17 
     18     def ApplyAttributes(self, attributes):
     19         self.currentGroupID = None
     20         Container.ApplyAttributes(self, attributes)
     21         self.controller = attributes.controller
     22         self.scroll = Scroll(name='auditLogScroll', parent=self)
     23 
     24     def LoadGroup(self, groupID):
     25         self.currentGroupID = groupID
     26         self.LoadAuditLog()
     27 
     28     def LoadAuditLog(self):
     29         groupLogs = self.controller.GetGroupLogs(self.currentGroupID)
     30         nodes = []
     31         for eachEvent in groupLogs:
     32             eventBundle = ConvertDBRowToBundle(eachEvent)
     33             decoClasss = self.GetEntryClass(eventBundle.actionID)
     34             node = Bunch(decoClass=decoClasss, controller=self.controller, eventInfo=eventBundle)
     35             nodes.append(node)
     36 
     37         self.scroll.Load(contentList=nodes)
     38 
     39     def GetEntryClass(self, actionID):
     40         return self.entryDict.get(actionID, AuditLogEntryBase)